Description de la méthode

Bien que la dérivation aide à élargir la portée de la recherche en simplifiant les mots infléchis à leur forme racine, les synonymes élargissent la portée en mettant en relation des concepts et des idées. Comme nous l’avons dit plus haut, l’un des nombreux problèmes qui peuvent nous rencontrer consiste à utiliser des mots qui ne conviennent pas exactement dans la requête de recherche. Par exemple, nous pouvons avoir le nom du champ égal à "blue jacket" dans le document et le nom "cyan jacket" dans la requête de recherche. L’utilisation du filtre de jeton de synonyme permet de gérer facilement les synonymes pendant le processus d’analyse. Les synonymes sont configurés à l’aide d’un fichier de configuration.

Description du processus

1) Tout d’abord, nous devons définir un filtre de jeton de type synonyme et ajouter des formats de synonymes dans le formatage des synonymes. Première façon de définir un filtre:

Et une autre façon d’utiliser un chemin pour synonym.txt:

"filter" : { "synonyms_filt" : {"tokenizer": "keyword", "type" : "synonym", "synonyms_path" : "analysis/synonym.txt" } } } }

ASTUCE : Ce fichier analysis/synonym.txt doit se trouver dans chaque nœud du cluster. Le format de fichier doit être le suivant:

Décrit ci-dessus configure un filtre de synonymes avec un chemin de analysis/synonym.txt (par rapport à l’emplacement de configuration).

Supergiant de Qbox : Le premier système de contrôle total du centre de données qui permet d’économiser facilement jusqu’à 60 % sur votre facture AWS.

 "analyzer": { "filter_synonyms": { "filter": , "tokenizer": "keyword" } }

Vous pouvez voir que nous avons ajouté deux synonymes pour les couleurs bleu et or. Lorsque l’utilisateur recherche "cobalt dress", elastic renvoie la portée avec "cobalt" synonymes de couleur "blue, Blue, blue-gold, dark blue/black/charcoal, duke blue, jade blue, scottsdale blue, blue/white/khaki, pacific blue". Par exemple, vous pouvez créer une requête et la tester sans synonymes, puis ajouter notre analyseur "filter_synonyms".

3) Testons notre filtre de mots stop personnalisé:

Comme deuxième:

"hits" : { "total" : 36165,"max_score" : 0.62592113}

Informations supplémentaires

L’utilisation du même filtre de jeton de synonyme au moment de l’index et au moment de la recherche est redondante. Si nous remplaçons l’or au moment de l’indice par les deux termes or – bleu et Or, au moment de la recherche, nous devons rechercher un seul de ces termes. Sinon, si nous n’utilisons pas de synonymes au moment de l’index, nous devrons convertir une requête pour l’or en une requête pour l’or ou l’or-bleu au moment de la recherche.

Catégories : Articles

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée.