Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Melhorando a correspondência do MySQL com a pesquisa


Você pode fazer exatamente o que deseja combinando IN BOOLEAN MODE e usando o * operador.

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

O + diz à correspondência para incluir apenas os valores de thing que contêm o termo de correspondência, que neste caso são todos os valores indexados começando com "educat " (veja aqui para saber como o modo booleano funciona em detalhes).

Como um aparte, a pesquisa de texto completo no MySQL não indexa palavras de 3 ou menos caracteres por padrão, então suspeito que sua correspondência com "edu" não esteja funcionando da maneira que você pensa. Veja o valor do seu ft_min_word_len variável para ver se esse é o caso.