Partilhar via


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:

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.

Confira também