J'ai un problème pour l'indexation fulltext en MySQL des mots comportant un trait d'union ("hyphen" en anglais) tels que "science-fiction". L'indexation se fait comme s'il s'agissait de 2 mots distincts (dans l'exemple il va indexer "science" et "fiction" séparément). Ce n'est pas ce que je souhaite. Je voudrais que "science-fiction" soit indexé comme un seul mot.
Savez-vous s'il y a une façon propre d'obtenir cela ? J'ai bien une solution "sale" sous la main qui consisterait à remplacer dans la base les tirets par une chaine du style "$&$" et à faire la rétroconversion à l'affichage. Mais s'il existe une solution propre, je préfèrerais.
Edit : la seule info que j'ai pu trouver sur ce sujet est un commentaire sur la page http://dev.mysql.com/doc/refman/5.0/...xt-search.html :
ce post date du 21 octobre 2002. Il semble que ça n'a pas évolué depuis.Posted by Dyfed Lloyd Evans on October 21 2002 12:39am
Hyphen '-' characters break literals at the moment.
A search for something like "GATA-D22S690" finds
all entries containing GATA and not the full
hyphenated text. The '-' character is treated as a
word stop even within literals. The same is true if
any of the special text search modifiers are used (eg
+, -, ~) so that hyphenated literals are not correctly
found with full text searches.
Partager