Les dictionnaires de synonymes améliorent la pertinence des recherches en permettant aux requêtes de correspondre à des termes connexes. Cette rubrique explique comment charger un fichier de dictionnaire de synonymes dans votre cluster Alibaba Cloud Elasticsearch et décrit les points importants ainsi que les bonnes pratiques à suivre.
Notes d'utilisation et bonnes pratiques
Consultez ces points essentiels avant de charger ou de gérer des fichiers de dictionnaire de synonymes.
État du cluster et impact du redémarrage
Intégrité du cluster : Avant le chargement, vérifiez que votre cluster Elasticsearch est sain.
Redémarrage automatique : Le chargement d'un nouveau fichier de dictionnaire de synonymes déclenche un redémarrage progressif automatique de votre cluster. Pendant ce redémarrage, le système met à jour les dictionnaires de synonymes sur tous les nœuds.
Durée du redémarrage : La durée nécessaire pour que le redémarrage et les mises à jour du dictionnaire prennent effet dépend des spécifications de votre cluster, du volume de données et de la charge actuelle.
-
Risque d'interruption de service :
Faible impact (Recommandé) : Si vos index disposent de shards répliques et que la charge du cluster est normale (CPU ~60 %, heap ~50 %, NodeLoad_1m < nombre de vCPU), votre cluster peut généralement continuer à fournir des services pendant le redémarrage progressif.
Impact élevé (À éviter) : Si vos index ne disposent pas de shards répliques, ou si le cluster subit une charge excessivement élevée avec de nombreuses opérations d'écriture ou de requête, l'accès au cluster peut expirer pendant le redémarrage. Implémentez un mécanisme de nouvelle tentative d'accès dans vos applications clientes afin de minimiser l'impact sur l'activité.
Planification : Nous vous recommandons vivement de charger les fichiers de dictionnaire de synonymes pendant les heures creuses, en raison du redémarrage du cluster et de la consommation potentielle de ressources.
Impact sur les index existants
Nouveaux fichiers de dictionnaire et index existants : Un fichier de dictionnaire de synonymes nouvellement chargé ou mis à jour ne prend pas automatiquement effet pour les index existants. En effet, les index existants ne rechargent pas automatiquement les configurations de l'analyseur.
-
Application aux index existants : Pour appliquer le nouveau dictionnaire aux index existants, choisissez l'une des méthodes suivantes :
Réindexer les données : Réindexez les données de ces index après la mise à jour du dictionnaire de synonymes. Cette opération n'interrompt généralement pas les services.
-
Rouvrir les index : Fermez puis rouvrez les index concernés. Cette opération interrompra les services pour ces index.
---index_name specifies the name of an index. POST <index_name>/_close POST <index_name>/_open
Format et règles du fichier de dictionnaire de synonymes
Type de fichier : Un fichier de dictionnaire de synonymes doit être un fichier TXT brut encodé en UTF-8.
Contenu : Chaque ligne du fichier ne doit contenir qu'une seule expression de synonyme.
Types de règles : Les expressions de synonymes prennent en charge les règles Solr et les règles WordNet.
-
Exemples de formats :
ipod, i-pod, i pod computer, pc, laptop
Conflits et conventions de nommage
Conflits avec les mots vides : La liste des mots vides de votre cluster Elasticsearch ne doit contenir aucun mot clé spécifié dans votre fichier de dictionnaire de synonymes. Des conflits entraîneront des erreurs dans les journaux du cluster lors du chargement du dictionnaire ou d'autres modifications.
Modifications du nom de fichier : Évitez de modifier le nom d'un fichier de dictionnaire de synonymes actuellement utilisé. Cela pourrait provoquer des anomalies dans les index qui dépendent de ce dictionnaire.
Procédure
Console
Connectez-vous à la console Alibaba Cloud Elasticsearch.
Dans le volet de navigation de gauche, sélectionnez Elasticsearch Clusters.
-
Accédez au cluster cible.
Dans la barre de navigation supérieure, sélectionnez le groupe de ressources auquel appartient le cluster et la région où il se trouve.
Sur la page Elasticsearch Clusters, localisez le cluster et cliquez sur son ID.
Dans le volet de navigation de gauche, sélectionnez Configuration and Management > Cluster Configuration.
Dans la section Basic Configuration, cliquez sur Upload à côté de Synonym Dictionary Configuration.
Dans le panneau Synonym Dictionary Configuration, cliquez sur Configure.
-
Sélectionnez une méthode.
Upload : Cliquez sur Upload et sélectionnez le fichier de dictionnaire de synonymes depuis votre ordinateur.
-
Add OSS File : Configurez les paramètres Bucket Name et File Name, puis cliquez sur Add.
RemarqueAssurez-vous que le bucket OSS spécifié se trouve dans la même région que votre cluster Elasticsearch et que le fichier est un fichier TXT.
-
Cliquez sur Save.
Vous pouvez télécharger un fichier de dictionnaire chargé en cliquant sur l'icône de téléchargement
à côté de son entrée dans la console.
API
Reportez-vous à la documentation UpdateSynonymsDicts.
Étapes suivantes : Application des synonymes et vérification
Après avoir chargé le fichier de dictionnaire de synonymes et laissé le cluster redémarrer, configurez les analyseurs de vos index pour utiliser le nouveau dictionnaire.
-
Créez un index (ou réindexez/rouvrez-en un existant) qui utilise l'analyseur de synonymes. Lors de la définition des paramètres et des mappages de votre index, spécifiez le paramètre
synonyms_pathpour pointer vers votre fichier de dictionnaire chargé (par exemple,"synonyms_path": "analysis/your_dict_name.txt").Pour des instructions détaillées, reportez-vous aux rubriques : Utiliser des synonymes et Using Synonyms (documentation Elasticsearch).
Chargez des données de test et effectuez des tests de recherche pour vérifier que les synonymes fonctionnent comme prévu.