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 :

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)
Merci d'avance pour votre aide.

JG.