2009-02-17 27 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个字符。

相关问题