Personalização de resultados de pesquisa no SharePoint
Saiba como agrupar itens semelhantes ou remover itens duplicados em um resultado de pesquisa definido no SharePoint, assim, você pode exibir esses resultados de uma forma concisa legível.
Nos resultados da pesquisa, agrupamento recolhe dois ou mais semelhantes itens em um resultado de pesquisa definidas para facilitar a leitura das sua exibição para um usuário. Remoção de duplicatas dos resultados da pesquisa é uma parte de agrupamento, onde os itens que são idênticos ou quase idêntica serão removidos do conjunto de resultados. Dependendo das configurações definidas pelo administrador do SharePoint, o usuário poderá expandir o conjunto de resultados de pesquisa posteriormente e ver os resultados individuais que foram recolhidos.
Estes são exemplos de maneiras de resultados de pesquisa de grupo:
- Duplique detecção, onde os documentos praticamente idênticos são removidos do conjunto de resultados.
- Site recolhimento, onde apenas o item mais relevante encontrado em cada site é mostrado no conjunto de resultados.
- Conjunto de documentos recolhimento, onde apenas um choque é exibido para cada biblioteca de documentos no SharePoint.
Você pode especificar os critérios para o colapso ou o corte duplicado programaticamente usando as seguintes propriedades KeywordQuery no modelo de objeto Query:
- CollapseSpecification
- TrimDuplicates
- TrimDuplicatesOnProperty
- TrimDuplicatesKeepCount
- TrimDuplicatesIncludeId
Recolher resultados de pesquisa semelhantes usando a propriedade CollapseSpecification
A leva de propriedade CollapseSpecification um parâmetro de Spec que pode conter vários campos separado por uma vírgula ou um espaço, que é avaliada juntos Especifica um conjunto de critérios usados para recolhimento.
SintaxeCollapseSpecification = Spec
A tabela a seguir lista os campos do parâmetro Spec .
Tabela 1. Campos de parâmetro de especificação
Elemento no parâmetro | Descrição |
---|---|
Spec | Subspec(<space>Subspec)* |
Subspec | Prop(','Prop)*[':'Dups] |
Prop | Uma propriedade gerenciada válida ou um alias de uma propriedade gerenciada. Prop diferencia maiúsculas de minúsculas. A propriedade gerenciada deve ser consultável e classificável ou refineable. |
Dups | Um inteiro especificando o número de itens para reter. O valor padrão é 1. |
<Espaço> | Propriedades são combinadas usando o operador de OR. |
, | Propriedades são combinadas usando o operador de AND. |
* | Indica a mais itens. |
() or [] | Indica os itens opcionais. |
Se os campos em Spec forem separados por vírgulas, os campos serão combinados usando o operador AND . Se todos os campos especificados forem atendidos, os itens são contraídos.
Em contraste, se os campos em Especificação forem separados por espaços, os campos (ou Subspecs) serão combinados usando uma expansão que inclui o operador AND e o operador OR . Por exemplo, uma expressão como Category:3 Product:2
é internamente transformada para a expressão seguinte (Category AND Product) OR (Category)
com um contador para cada uma delas; Daí um máximo de dois do primeiro e três do último. Os itens são recolhidos se alguns campos especificados são correspondidas.
Exemplos de como usar o CollapseSpecification
A tabela a seguir mostra um catálogo de produtos da empresa Contoso. O próximo conjunto de uso de exemplos desse catálogo para mostrar como a propriedade CollapseSpecification funciona.
Categoria | Produto | Variant | Título |
---|---|---|---|
Laptops | WWI | 19W X 0196 preto | Computador 1 |
Laptops | Adventure Works | 12 M1201 vermelho | Computador 2 |
Laptops | Adventure Works | 15.4W M1548 branco | Computador 3 |
Laptops | Proseware | 19 x 910 preto | Computador 4 |
Laptops | Proseware | Laptop19 X 910 preto | 5 de computador |
Desktops | Adventure Works | 2,33 prata XD233 | Computador 6 |
Desktops | WWI | 2,33 x 2330 preto | 7 de computador |
Desktops | Adventure Works | 1.60 White ED160 | Computador 8 |
Desktops | WWI | 3.0 prata M0300 | Computador 9 |
Exemplo: agrupar por Categoria
Primeiro, agrupar os itens com base em Category e mostrar os dois primeiros (daí "Category:2"
) para cada grupo. Em seguida, para cada Category, mostrar um número correspondente de exclusivo (daí "Produto: 1") Products.
SintaxeCollapseSpecification="Category:2 Product:1"
Isso deve retornar os resultados a seguir.
Categoria | Produto | Variant | Título |
---|---|---|---|
Laptops | WWI | 19W X 0196 preto | Computador 1 |
Laptops | Adventure | 12 M1201 vermelho | Computador 2 |
Desktops | Adventure Works | 2,33 prata XD233 | Computador 6 |
Desktops | WWI | 2,33 x 2330 preto | 7 de computador |
Use o código a seguir para recolher os resultados da pesquisa usando a propriedade CollapseSpecification.
using (var context = new ClientContext("http://localhost"))
{
var query = new KeywordQuery(context)
{
QueryText = "Title:Computer",
CollapseSpecification = "Category:3 Product:1",
};
var executor = new SearchExecutor(context);
var results = executor.ExecuteQuery(query);
context.ExecuteQuery();
foreach (var result in results.Value[0].ResultRows)
{
Console.WriteLine(result["Title"]);
}
}
Exemplo: agrupar por Categoria e Produto
Em primeiro lugar, agrupe os itens com base em Category e o Product. Em seguida, mostre cada combinação exclusiva.
SintaxeCollapseSpecification="Category,Product:1"
Isso deve retornar os resultados a seguir.
Categoria | Produto | Variant | Título |
---|---|---|---|
Laptops | WWI | 19W X 0196 preto | Computador 1 |
Laptops | Adventure Works | 12 M1201 vermelho | Computador 2 |
Laptops | Proseware | 19 x 910 preto | Computador 4 |
Desktops | Adventure Works | 2,33 prata XD233 | Computador 6 |
Desktops | WWI | 2,33 x 2330 preto | 7 de computador |
Aparar resultados de pesquisa duplicados usando a propriedade TrimDuplicates
Use o TrimDuplicates para especificar se, para aparar a pesquisa duplicada resultados a partir do resultado definido. TrimDuplicates é true por padrão.
Se você usar TrimDuplicates com TrimDuplicatesOnProperty ou preferencialmente CollapseSpecification, TrimDuplicates é definido como false.
SintaxeTrimDuplicates = <$true | $false>
Aparar resultados de pesquisa duplicados usando a propriedade TrimDuplicatesOnProperty
Use o TrimDuplicatesOnProperty para especificar se usar um não-padrão propriedade gerenciada como base para filtragem duplicada. O valor padrão é a propriedade DocumentSignature gerenciados. A propriedade gerenciada deve ser do tipo Integer ou String. Usando uma propriedade gerenciada que representa um agrupamento de itens, você pode usar esse recurso para o recolhimento de campo.
SintaxeTrimDuplicatesOnProperty = <managed property>
Observação
No SharePoint, use CollapseSpecification sempre que possível. TrimDuplicatesOnProperty está disponível apenas para compatibilidade com versões anteriores.
Aparar resultados de pesquisa duplicados usando a propriedade TrimDuplicatesKeepCount
Use TrimDuplicatesKeepCount para especificar o número de documentos para reter quando TrimDuplicates é true. Se TrimDuplicates se baseia em uma propriedade gerenciada que pode ser usada como um identificador de grupo, por exemplo, uma ID de site, você pode controlar quantos resultados são retornados para cada grupo. Os itens retornados são aqueles com a maior classificação dinâmica dentro de cada grupo.
SintaxeTrimDuplicatesKeepCount = <number>
Aparar resultados de pesquisa duplicados usando a propriedade TrimDuplicatesIncludeId
Use TrimDuplicatesIncludeId para recuperar as duplicatas de um documento, quando TrimDuplicates é true e TrimDuplicatesOnProperty ou CollapseSpecification é definido como false.
A ID do documento, docid, é usada para recuperar as duplicatas de um documento específico.
SintaxeTrimDuplicatesIncludeId = <docid>
Observação
A propriedade gerenciada fcoid no FAST Search Server 2010 para SharePoint foi substituída pela propriedade gerenciada docid no SharePoint.