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:
- CollapseSpecification
- TrimDuplicates
- TrimDuplicatesOnProperty
- TrimDuplicatesKeepCount
- TrimDuplicatesIncludeId
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.