Les documents sont souvent longs et ne peuvent pas s'afficher intégralement dans les résultats de recherche. Pour y remédier, configurez les résumés et la mise en surbrillance des résultats. Le système extrait les segments contenant les termes de la requête, ce qui aide les utilisateurs à déterminer rapidement la pertinence d'un résultat. Personnalisez l'affichage des résultats de recherche dans la console. Une fois configurés, ces paramètres s'appliquent automatiquement à vos requêtes de recherche via l'API sans avoir à les spécifier dans chaque requête. Vous pouvez toutefois remplacer ces paramètres pour une requête spécifique en utilisant le paramètre summary dans votre requête API. Pour plus d'informations, consultez la rubrique Envoyer des requêtes de recherche.
Paramètres
Field : Champ pour lequel générer un résumé des résultats de recherche.
Segment length : Longueur maximale du résumé complet des résultats de recherche.
Highlight tag : Balise HTML utilisée pour mettre en surbrillance les termes de la requête.
Segment connector : Caractère ou chaîne utilisé pour joindre les segments.
Number of segments : Nombre de segments à afficher dans la longueur de résumé spécifiée.
Configuration dans la console
1. Dans la console, accédez à OpenSearch High-performance Search Edition > Feature Extensions > Search Result Display, puis configurez les paramètres dans la section Search Result Summary.
2. L'exemple suivant illustre la configuration de la mise en surbrillance. La balise de surbrillance est définie sur em.
Dans la section Search Result Summary de la console, la longueur du segment pour le champ title est définie sur 50, la balise de surbrillance sur em, le connecteur de segment sur ... et le nombre de segments sur 5.
Configuration via l'API et le SDK
API : Spécifiez le paramètre
summarydans votre requête. Pour plus d'informations, consultez la rubrique Envoyer des requêtes de recherche.-
SDK : L'exemple suivant montre comment configurer le résumé des résultats de recherche à l'aide du SDK 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.Remarque :
Lorsque vous utilisez l'objet
summaryde la classeSearchParams, vous ne pouvez pas spécifier de préfixes ou de suffixes personnalisés pour la balise de surbrillance. Vous devez utiliser un nom de balise HTML complet. Le préfixe et le suffixe sont par défaut respectivement < et >. Par exemple, si vous définissez la balise de surbrillance surem, le résultat JSON renvoyé est formaté comme suit :Alibaba Cloud<em>OpenSearch</em>product document.-
Pour définir un préfixe et un suffixe personnalisés pour la balise de surbrillance dans le SDK, utilisez l'objet
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 (;).Notes d'utilisation
La mise en surbrillance s'applique uniquement aux termes de votre requête. Le champ à mettre en surbrillance doit être indexé. Sinon, la mise en surbrillance risque de ne pas fonctionner correctement.
Vous ne pouvez pas configurer séparément les résumés et la mise en surbrillance.
Si vous configurez des résumés pour plusieurs champs, les termes de requête correspondants sont mis en surbrillance dans tous les champs spécifiés.
Si un terme correspondant apparaît loin dans le contenu, au-delà de la limite de 10 000 octets, il ne sera pas mis en surbrillance.
Si vous créez différents types d'analyseurs pour le même champ, tels qu'un analyseur chinois standard et un analyseur monocaractère, la mise en surbrillance risque de ne pas fonctionner correctement. Par exemple, le contenu peut être mis en surbrillance sur la base d'un seul analyseur, ou un contenu incorrect peut être mis en surbrillance.
La mise en surbrillance risque de ne pas fonctionner correctement si une requête utilise plusieurs analyseurs.
**Par défaut, les caractères spéciaux dans les segments mis en surbrillance sont filtrés du document renvoyé. Pour afficher ces caractères, ajoutez la clause personnalisée
kvpairs=filter_punc:0à votre requête afin de désactiver ce filtrage.**