Bonjour à tous,
je n'arrive pas à comprendre pourquoi une certaine recherche en mode Fulltext ne fonctionne pas...
Soit une table 'enonce' :
id - INT / PK
enotxt0 - TEXT avec index FullText
Soit un enregistrement de cette table :
id = 1
enotxt0 = "Par cause de soi, j’entends ce dont l’essence enveloppe l’existence, autrement dit, ce dont la nature ne peut se concevoir qu’existante."
J'arrive à trouver cet enregistrement si je cherche le mot "enveloppe" ou "concevoir", et, semble-t-il, tout autre mot SAUF le mot "cause" (et aucun autre enregistrement comportant ce mot non plus).
Idem si je cherche "caus*".
"caus*" me ramène les enregistrements qui comportent "causalité" par exemple, mais pas ceux qui comportent seulement "cause".
Une idée de ce qui pourrait expliquer un si étrange comportement ?
Un problème d'encodage ? Le mot "cause" aurait une signification particulière en SQL ??
La requête de recherche ressemble dans chaque cas à cela :
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT *, MATCH(enotxt0) AGAINST ("+cause" IN BOOLEAN MODE) AS score FROM enonces LEFT OUTER JOIN types ON enonces.typid = types.typid WHERE MATCH(enotxt0) AGAINST ("+cause" IN BOOLEAN MODE)
JG.
Partager