Mysql
 sql >> Database >  >> RDS >> Mysql

Miglioramento della corrispondenza di MySQL contro la ricerca

Puoi fare esattamente quello che vuoi abbinando IN BOOLEAN MODE e utilizzando il * operatore.

Ad esempio:

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

Il + dice alla corrispondenza di includere solo i valori di thing che contengono il termine di corrispondenza, che in questo caso sono tutti i valori indicizzati che iniziano con "educat " (vedi qui per come funziona la modalità booleana in dettaglio).

Per inciso, la ricerca fulltext in MySQL non indicizza parole di 3 o meno caratteri per impostazione predefinita, quindi sospetto che la tua corrispondenza con "edu" non funzioni come pensi. Guarda il valore del tuo ft_min_word_len variabile per vedere se è così.