Recherche exacte


(Blured Derulb) #1

Bonjour,

J'ai besoin de rechercher une phrase dans un champ particulier d'un document.

Il faudrait que seul remontent les documents qui ont la phrase exacte recherchée sans mots supplémentaires, en prenant en compte les racines des mots et pas les mots complets et en excluant les stopword

Par exemple soit un document contenant
"Volets automatiques pour piscine"

Ce document devrait remonter si la recherche contient la phrase :
"Volets automatiques pour piscine"
ou
"Volet automatique pour piscine"
ou
"Volet automatique piscine"

Je cherche la meilleure façon d'implémenter cette recherche.

Avec une query_phrase c'est presque bon seulement, les documents contenant la phrase et d'autres mots remonteront aussi (Volets automatiques pour piscines bla bla bla numéro truc par exemple)

J'avais dans l'idée d'exécuter une recherche, de compter le nombre de token de ma phrase de recherche et ceux des documents qui remontent pour filtrer ceux qui possèdent plus de token. Mais ce n'est peut être pas l'idéal.

Auriez-vous une idée sur la façon de faire ceci ?

Merci d'avance,
Denis.


(Blured Derulb) #2

Je tente avec un plugin natif auquel je passe la liste des token obtenu à partir de la chaine de recherche (en passant préalablement un coup de XXX-analyzer)

Ensuite dans la function je regarde si le nombre de termes passées et le nombre de valeurs du champ sont égales + si le terme est présent dans le champ.

C'est un peu tiré par les cheveux mais ça semble fonctionner


(system) #3