Personalizar los resultados de búsqueda en SharePoint

Obtenga información sobre cómo agrupar elementos similares o quitar los elementos duplicados en un conjunto en SharePoint para que pueda mostrar los resultados de una manera concisa y legible.

En los resultados de búsqueda, agrupación contrae dos o similares más elementos en un resultado de búsqueda establecido para facilitar su visualización la lectura de un usuario. Eliminación de duplicados de los resultados de búsqueda es una parte de la agrupación, donde los elementos que son idénticos o casi idéntico se quitan del conjunto de resultados. Según la configuración establecida por el Administrador de SharePoint, el usuario es posible que pueda expandir el conjunto de resultados de búsqueda más adelante y ver los resultados individuales que se han contraído.

Los siguientes son ejemplos de formas de los resultados de búsqueda de grupo:

  • Detección, donde documentos casi idénticos se quitan del conjunto de resultados de duplicados.
  • Sitio de contracción, donde se muestra sólo el elemento más relevante encontrado en cada sitio en el conjunto de resultados.
  • Conjunto de documentos contraer, donde se muestra una sola visita para cada biblioteca de documentos en SharePoint.

Puede especificar los criterios para contraer o duplicar el recorte mediante programación mediante el uso de las siguientes propiedades KeywordQuery en el modelo de objetos Query:

Contraer resultados de búsqueda similares mediante la propiedad CollapseSpecification

La toma de la propiedad de CollapseSpecification un parámetro de Spec que puede contener varios campos separado por una coma o un espacio, que evalúa conjuntamente especifica un conjunto de criterios que se usan para contraer.

SintaxisCollapseSpecification = Spec

En la tabla siguiente se enumeran los campos del parámetro Spec .

Tabla 1. Campos de parámetros de especificación

Elemento de parámetro Descripción
Spec Subspec(<space>Subspec)*
Subspec Prop(','Prop)*[':'Dups]
Prop Una propiedad administrada válida o un alias de una propiedad administrada. Prop distingue mayúsculas de minúsculas. La propiedad administrada debe ser consultable y se puede ordenar o refineable.
Dups Un entero que especifica el número de elementos para conservar. El valor predeterminado es 1.
<Espacio> Las propiedades se combinan mediante el operador de OR.
, Las propiedades se combinan mediante el operador de AND.
* Indica más elementos.
() or [] Indica los elementos opcionales.

Si los campos de Spec están separados por comas, los campos se combinan mediante el operador AND . Si se cumplen todos los campos especificados, se contraen los elementos.

Por el contrario, si los campos de Spec están separados por espacios, los campos (o Subspecs) se combinan mediante una expansión que incluye tanto el operador AND como el operador OR . Por ejemplo, una expresión como Category:3 Product:2 se transforma de internamente en la siguiente expresión (Category AND Product) OR (Category) con un contador para cada uno; por lo tanto, un máximo de dos de la primera y tres de este último. Si algunos de los campos especificados se hacen coincidir los elementos están contraídos.

Ejemplos de uso de CollapseSpecification

En la siguiente tabla muestra un catálogo de productos de la compañía de Contoso. El siguiente conjunto de ejemplos use este catálogo para mostrar cómo funciona la propiedad CollapseSpecification.

Categoría Producto Variant Título
Portátiles WWI 19 w X 0196 negro Equipo 1
Portátiles Adventure Works 12 M1201 rojo Equipo 2
Portátiles Adventure Works 15,4 w M1548 notas Equipo 3
Portátiles Proseware 19 x 910 negro Equipo 4
Portátiles Proseware Laptop19 X 910 negro Equipo 5
Equipos de escritorio Adventure Works A 2,33 XD233 plata Equipo 6
Equipos de escritorio WWI 2,33 x 2330 negro Equipo 7
Equipos de escritorio Adventure Works 1,60 notas de ED160 Equipo 8
Equipos de escritorio WWI 3.0 plata M0300 Equipo 9

Ejemplo: agrupar por categoría

En primer lugar, agrupar los elementos basándose en Category y muestre los dos primeros (por lo tanto, "Category:2") para cada grupo. A continuación, para cada Category, mostrar un número correspondiente de único (por lo tanto, "Producto: 1") Products.

SintaxisCollapseSpecification="Category:2 Product:1"

Esto debe devolver los resultados siguientes.

Categoría Producto Variant Título
Portátiles WWI 19 w X 0196 negro Equipo 1
Portátiles Aventura 12 M1201 rojo Equipo 2
Equipos de escritorio Adventure Works A 2,33 XD233 plata Equipo 6
Equipos de escritorio WWI 2,33 x 2330 negro Equipo 7

Utilice el siguiente código para contraer los resultados de búsqueda mediante el uso de la propiedad 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"]);
    }
}

Ejemplo: agrupar por categoría y producto

En primer lugar, agrupar los elementos basándose en Category y Product. A continuación, se muestra cada combinación única.

SintaxisCollapseSpecification="Category,Product:1"

Esto debe devolver los resultados siguientes.

Categoría Producto Variant Título
Portátiles WWI 19 w X 0196 negro Equipo 1
Portátiles Adventure Works 12 M1201 rojo Equipo 2
Portátiles Proseware 19 x 910 negro Equipo 4
Equipos de escritorio Adventure Works A 2,33 XD233 plata Equipo 6
Equipos de escritorio WWI 2,33 x 2330 negro Equipo 7

Eliminar resultados de búsqueda duplicados con la propiedad TrimDuplicates

Use TrimDuplicates para especificar si va a separar la búsqueda de duplicados resultados desde el resultado establecida. TrimDuplicates es true de forma predeterminada.

Si usa TrimDuplicates con TrimDuplicatesOnProperty o preferiblemente CollapseSpecification, TrimDuplicates se establece en false.

SintaxisTrimDuplicates = <$true | $false>

Eliminar resultados de búsqueda duplicados con la propiedad TrimDuplicatesOnProperty

Use TrimDuplicatesOnProperty para especificar si un valor no predeterminado de usar propiedad administrada como base para el recorte de duplicados. El valor predeterminado es la propiedad DocumentSignature administrado. La propiedad administrada debe ser de tipo Integer o String. Mediante el uso de una propiedad administrada que representa una agrupación de elementos, puede usar esta característica para contraer el campo.

SintaxisTrimDuplicatesOnProperty = <managed property>

Nota:

En SharePoint, utilice CollapseSpecification siempre que sea posible. TrimDuplicatesOnProperty está disponible solo por motivos de compatibilidad con versiones anteriores.

Eliminar resultados de búsqueda duplicados con la propiedad TrimDuplicatesKeepCount

Use TrimDuplicatesKeepCount para especificar el número de documentos que se guardan cuando TrimDuplicates es true. Si TrimDuplicates se basa en una propiedad administrada que se pueden usar como un identificador de grupo, por ejemplo, un identificador de sitio, puede controlar la cantidad de resultados que se devuelve para cada grupo. Los elementos devueltos son los con el rango dinámico más alto dentro de cada grupo.

SintaxisTrimDuplicatesKeepCount = <number>

Recuperar resultados de búsqueda duplicados con la propiedad TrimDuplicatesIncludeId

Usar TrimDuplicatesIncludeId para recuperar los duplicados de un documento cuando TrimDuplicates es true y TrimDuplicatesOnProperty o CollapseSpecification se establece en false.

El identificador de documento, docid, se usa para recuperar los duplicados de un documento determinado.

SintaxisTrimDuplicatesIncludeId = <docid>

Nota:

La propiedad administrada fcoid de FAST Search Server 2010 para SharePoint se ha reemplazado por la propiedad administrada docid en SharePoint.

Consulte también