Sto provando a trovare la stringa "zen" in un campo contenente "The Zen Circus". Ho un indice FULLTEXT.Ricerca full text su mysql con una parola di 3 lettere
select url,name,
, MATCH(name) AGAINST ('zen*' IN BOOLEAN MODE) as A
, MATCH(name) AGAINST ('"the zen*"' IN BOOLEAN MODE) as B
, MATCH(name) AGAINST ('>the* zen' IN BOOLEAN MODE) as C
, MATCH(name) AGAINST ('thezen*' IN BOOLEAN MODE) as D
, MATCH(name) AGAINST ('cir*' IN BOOLEAN MODE) as E
, MATCH(name) AGAINST ('circus*' IN BOOLEAN MODE) as F
from pages where url='thezencircus'
ho questo risultato:
url = thezencircus
name = The Zen Circus
A = 0 (why?)
B = 0 (why?)
C = 0 (why?)
D = 0 (ok)
E = 1 (ok)
F = 1 (ok)
Ho anche putted ft_min_word_len = 2 nel file di configurazione msyql.
Qualche idea?
Ho fatto tutto ciò che hai detto, grazie, ma il problema è ancora qui. :-( – Pons
Prova a eseguire le pagine di RIPARAZIONE TAVOLA QUICK; Inoltre, solo per essere sicuro di averlo fatto bene, sull'impostazione di ft_min_word_length: http://lostquery.com/questions/196/how-do-i-enable-short-3 -letter-full-text-search-in-mysql è così che l'hai fatto? – Kao
Inoltre, vedi la mia modifica su come confermare il valore di ft_min_word_len – Kao