sql >> Base de Datos >  >> RDS >> Mysql

Mejorando la búsqueda de Mysql Match Against

Puedes hacer exactamente lo que quieras haciendo coincidir IN BOOLEAN MODE y usando el * operador.

Por ejemplo:

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

El + le dice a la coincidencia que incluya solo los valores de thing que contienen el término de coincidencia, que en este caso son todos los valores indexados que comienzan con "educat " (consulte aquí para saber cómo funciona el modo booleano en detalle).

Aparte, la búsqueda de texto completo en MySQL no indexa palabras de 3 o menos caracteres de forma predeterminada, por lo que sospecho que su coincidencia con "edu" no funciona de la manera que piensa. Mire el valor de su ft_min_word_len variable para ver si ese es el caso.