Aller au contenu

Recherche d'une phrase dans un index FULLTEXT


captain_torche

Sujets conseillés

Bonsoir,

J'ai besoin de rechercher une phrase ("mot1 mot2") dans un champ indexé en fulltext.

J'utilise une requête du type :

SELECT ID FROM table WHERE MATCH(Texte) AGAINST('mot1 mot2')

Je cherche à obtenir une correspondance exacte (que les enregistrements contenant l'expression "mot1 mot2"), mais pas ceux ne contenant que l'un des deux. Comment rédiger ma requête ?

Lien vers le commentaire
Partager sur d’autres sites

pour rechercher une expression avec match against il faut que l'expression soit entre double quote

SELECT ID FROM table WHERE MATCH(Texte) AGAINST(' "mot1 mot2" ')

Lien vers le commentaire
Partager sur d’autres sites

C'est plus une phrase qu'il recherche mais la présence des deux mots

'+pomme +jus'

Recherche les lignes qui contiennent ces deux mots.

Si c'est pour une phrase

'"deux mots"'

Recherche les lignes qui contiennent exactement la phrase ``deux mots'' (par exemple, les lignes qui contiennent ``deux mots d'amour'' mais pas ``le mot deux''). Notez que les caractères ‘"’ qui entourent la phrase délimitent la phrase. Ils ne délimitent pas la chaîne.

Ah oui j'avais oublié le mode booleen

Lien vers le commentaire
Partager sur d’autres sites

Ok, ça marche, merci encore !

J'ai une dernière question : quid de la performance de ces recherches ? Ca me semblerait l'idéal pour gérer un moteur de recherche, mais avec une base plus conséquente que ma base de tests, les temps d'exécution des requêtes ne serait-il pas trop long ?

Lien vers le commentaire
Partager sur d’autres sites

Je l'ai mis en place sur un site qui à pas mal de contenu, sur plusieurs colonnes et plusieurs tables, l'affichage des résultats reste réactif.

Si tu veux je te file l'adresse en MP pour que tu puisse juger

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...