Los documentos suelen ser extensos y no es posible mostrarlos completos en los resultados de búsqueda. Para solucionar esto, configure resúmenes y resaltado en los resultados. El sistema extrae segmentos que contienen los términos de consulta, lo cual ayuda a los usuarios a determinar rápidamente si un resultado es relevante. Personalice la visualización de los resultados desde la consola. Una vez configurados, estos ajustes se aplican automáticamente a las consultas de búsqueda mediante API, sin necesidad de especificarlos en cada solicitud. También puede anular esta configuración para una consulta específica mediante el parámetro summary en su solicitud de API. Para obtener más información, consulte Initiate search requests.
Parámetros
Campo: Campo para el que se generará el resumen del resultado de búsqueda.
Longitud del segmento: Longitud máxima de todo el resumen del resultado de búsqueda.
Etiqueta de resaltado: Etiqueta HTML utilizada para resaltar los términos de consulta.
Conector de segmentos: Carácter o cadena usada para unir los segmentos.
Número de segmentos: Cantidad de segmentos que se mostrarán dentro de la longitud de resumen especificada.
Configuración desde la consola
En la consola, vaya a OpenSearch High-performance Search Edition > Feature Extensions > Search Result Display y configure los ajustes en la sección Search Result Summary.
A continuación se muestra un ejemplo de la configuración de resaltado. La etiqueta de resaltado está establecida en
em.
En la sección Search Result Summary de la consola, la longitud del segmento para el campo title se establece en 50, la etiqueta de resaltado en em, el conector de segmentos en ... y el número de segmentos en 5.
Configuración mediante API y SDK
API: Especifique el parámetro
summaryen su solicitud. Para obtener más información, consulte Initiate search requests.-
SDK: El siguiente ejemplo muestra cómo configurar el resumen de resultados de búsqueda con el SDK de Java:
// Configure the search result summary. The SearchParams object provides a simple way to do this. Summary summ = new Summary("name"); summ.setSummary_field("name");// The field to which the summary applies. This must be an analyzable text field. summ.setSummary_len("50");// The segment length. summ.setSummary_element("em"); // The highlight tag. summ.setSummary_ellipsis("...");// The segment connector. summ.setSummary_snippet("1");// The number of segments.Nota:
Al usar el objeto
summaryde la claseSearchParams, no es posible especificar prefijos o sufijos personalizados para la etiqueta de resaltado. Use un nombre de etiqueta HTML completo. Los valores predeterminados para el prefijo y el sufijo son < y >, respectivamente. Por ejemplo, si establece la etiqueta de resaltado enem, el resultado JSON devuelto tendrá el formatoAlibaba Cloud<em>OpenSearch</em>product document.-
Para definir un prefijo y un sufijo personalizados para la etiqueta de resaltado en el SDK, use el objeto
searchParamsBuilder.// A utility class for SearchParams that simplifies operations. SearchParamsBuilder paramsBuilder = SearchParamsBuilder.create(searchParams); // Use the SearchParamsBuilder object to add the search result summary. paramsBuilder.addCustomParam("summary", "summary_field:name,summary_ellipsis:...,summary_snipped:1,summary_len:50,summary_element_prefix:<abc>,summary_element_postfix:</abc>"); // To specify multiple summary_field values, separate them with semicolons (;).Notas de uso
El resaltado solo se aplica a los términos incluidos en la consulta. El campo por resaltar debe estar indexado; de lo contrario, el resaltado podría no funcionar correctamente.
No es posible configurar los resúmenes y el resaltado por separado.
Si configura resúmenes para varios campos, los términos coincidentes de la consulta se resaltarán en todos los campos especificados.
Si un término coincidente aparece muy avanzado en el contenido, más allá del límite de 10,000 bytes, no se resaltará.
Si crea distintos tipos de analizadores para el mismo campo, como un analizador estándar de chino y un analizador de caracteres individuales, el resaltado podría no funcionar correctamente. Por ejemplo, el contenido podría resaltarse con base en un solo analizador o podría resaltarse contenido incorrecto.
El resaltado podría no funcionar correctamente si una consulta usa varios analizadores.
**De forma predeterminada, los caracteres especiales en los segmentos resaltados se filtran del documento devuelto. Para mostrar estos caracteres, agregue la cláusula personalizada
kvpairs=filter_punc:0a su consulta y deshabilite este filtrado.**