Mysql
 sql >> Base de données >  >> RDS >> Mysql

Amélioration de la correspondance MySQL avec la recherche

Vous pouvez faire exactement ce que vous voulez en faisant correspondre IN BOOLEAN MODE et en utilisant le * opérateur.

Par exemple :

 ... MATCH(thing) AGAINST ('+educat*' IN BOOLEAN MODE)...

Le + indique à la correspondance d'inclure uniquement les valeurs de thing qui contiennent le terme de correspondance, qui dans ce cas est toutes les valeurs indexées commençant par "educat " (voir ici pour savoir comment fonctionne le mode booléen en détail).

En passant, la recherche Fulltext dans MySQL n'indexe pas les mots de 3 caractères ou moins par défaut, donc je soupçonne que votre correspondance avec "edu" ne fonctionne pas comme vous le pensez. Regardez la valeur de votre ft_min_word_len variable pour voir si c'est le cas.