2014-02-10 40 views
0

比賽這是我的過濾器文本:對不決策意識

奧利弗舊書

如果我搜索「奧利弗」它的工作原理,如果我搜索「書」它的工作原理,但如果我搜索'使用'它不起作用。

加熱器白扇HEOP1322

Heater -> works : white -> works : fan -> does not work : HEOP -> does not work : HEOP1322 -> works. 

我的查詢是這樣的:

SELECT * FROM table WHERE MATCH(filter) AGAINST ('fan' IN BOOLEAN MODE) 
SELECT * FROM table WHERE MATCH(filter) AGAINST ('HEOP' IN BOOLEAN MODE) 
SELECT * FROM table WHERE MATCH(filter) AGAINST ('used' IN BOOLEAN MODE) 

爲什麼D'地獄確實字used不行,字book作品?他們有相同的長度。

我也試過這個建議Mysql search for string and number using MATCH() AGAINST()沒有成功。

編輯:解決,請按照此說明。 XAMPP MySQL - Setting ft_min_word_len

+1

從標題中刪除'PHP'。你的問題與PHP – hindmost

+0

無關fancyPants爲我做了。抱歉。 – user3243925

回答

1

「used」是默認MySQL全文停用詞之一:https://dev.mysql.com/doc/refman/5.1/en/fulltext-stopwords.html。停用詞是被忽略的詞,因爲它們在(英語)語言中過於頻繁,並且不會對搜索的結果產生積極影響。如果您只查詢單個單詞,則LIKE %..%查詢可能比全面全文搜索更適合。

+0

好吧,回答一個問題。我還讀到最小長度是4,並且忽略它,我應該在這個詞之前使用+。 '+ fan'繼續不起作用。 – user3243925