Quels analyzer pour une recherche?


(Karel Suedile) #1

Bonjour,
je souhaiterai mettre en place une recherche un peu spécifique sur mes documents.

Actuellement, j'utilise query_string sur des documents indexés avec l'analyzer french.
Ca me permet d'avoir des résultats cohérents lors des recherches avec des mots au singulier comme au pluriel.
Par ex: si je cherche "vins", ES me donne des résultats pertinents, idem avec "vin"

Cependant, j'ai un document qui contient "disneyland".
Je voudrais pouvoir le retrouver avec une recherche "disney" tout en conservant l'analyzer french.
J'ai tenté d'ajouter un wildcard, mais en faisant ça, ça fausse mes résultats pour une recherche sur "vins*".

Pourriez-vous me guider sur une solution à appliquer ?


(David Pilato) #2

Une solution simple serait peut-être d'ajouter un synonyme disney pour disneyland ?


(Karel Suedile) #3

Effectivement, Je pourrais aussi alimenter mes documents avec un champ "tags" qui ferait office de liste de synonymes.

Mais si on ne prend pas en compte cette solution, n'y a-t-il pas un tokenizer ou analyzer spécifique pour ce genre de cas ?
J'ai vu l'existence de n-gram, mais j'ai peur qu'il ne soit pas vraiment prévu pour cela.
Ai-je tort ?


(Karel Suedile) #4

Je viens de relire pas mal de documentation.
Il semble que j'ai les choix suivants :

  • synonym
  • stemmer override
  • ngram

je suis bien tenté d'utiliser ngram puisqu'il ne nécessite pas l'entretien d'un fichier annexe.
Cependant, je voudrais avoir votre avis sur la viabilité de ce tokenizer.

Pour compléter ma demande, mes recherches seront essentiellement des recherches d'un mots (voire jusqu'à 3 max j'imagine), un peu comme si vous alliez sur amazon pour chercher "lave-linge".


(Karel Suedile) #5

De ce que j'ai compris en lisant divers posts sur le sujet,
ngram semble etre assez gourmand en espace disque.
Etant donné que mon cas "disney" semble être assez exceptionnel,
je suis parti sur la solution que tu m'as indiqué, à savoir le synonyme.
Merci


(system) #6

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.