2009-02-17 73 views
3

我正在嘗試基於全文搜索執行用戶搜索。爲什麼全文搜索字符串'FDR'在MySQL中不會產生結果?

SELECT * FROM用戶WHERE MATCH(名稱)AGAINST( 'FDR' IN BOOLEAN MODE);

然而,查詢產生任何結果。我可以用其他字符串替換搜索值併產生結果。

我一直在使用沒有成功空停用詞列表甚至嘗試。這個問題似乎與這個特定的字符串。

+0

什麼字符串是在名稱欄中,你認爲它應該匹配嗎? – jonstjohn 2009-02-17 21:40:25

回答

6

dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html

默認的最小值爲四個 字符;默認最大值爲 版本相關。如果您更改了 這兩個值,則必須重建您的 FULLTEXT索引。

的最小和的 話要被索引的最大長度由 的ft_min_word_len和ft_max_word_len 系統變量來定義。

另見Server System Variables

+0

我用ft_min_word_len = 4構建了我的索引,隨後將其降爲3.但是,我確實意識到需要重建FULLTEXT索引。 有沒有辦法重建它們而不丟棄和重建它們? 「 – 2009-02-17 22:14:09

4

如果this article仍然是有效的,那麼它是因爲MySQL全文索引沒有索引字的長< = 3個字符。

相關問題