Bonjour,
j'ai cru comprendre que les recherches fuzzy pouvaient automatiquement déterminer la distance de levenstein à appliquer en fonction de la longueur du mot recherché.
Je voulais savoir si la syntaxe avec le tilde "~" permettait de pouvoir spécifier cette valeur AUTO.
Si oui, quelle valeur dois-je inscrire.
Pour la requête ci-dessous, l'analyzer wwfrench est le french décrit dans la doc d'elasticsearch mais qui comprend en plus un fichier de synonymes dont la seule entrée est : disney , disneyland
Voici la requête :
J'ai simplifié à fond ton cas et j'ai pu reproduire que le problème vient en fait de simple_query_string. query_string prend correctement ce paramètre.
En effet, le stemming n'est pas appliqué pour la recherche fuzzy. De façon générale, il faut appliquer une chaîne d'indexation simple lorsqu'on fait des recherches fuzzy, au plus du lowercasing et du asciifolding. Pour donner un exemple de problème qui peut se poser, il me semble que le stemmer français transforme "aboyer" en "aboi" et non "aboy" en raison du fait que le y se transforme en i lorsque le verbe est conjugué. En revanche, "aboy" resterait "aboy" puisque le stemmer ne reconnaît pas la terminaison d'un verbe. Cela peut donner des résultats très étranges avec les fuzzy queries puisque "aboi" serait à une distance moindre de "aboyer" que "aboy". En tant qu'utilisateur, je trouverais ça contre intuitif. En conclusion il n'y a pas vraiment de bonne manière de combiner stemming et fuzzy queries.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.