2012-04-01 19 views
0

我正在使用MySQL数据库。现在是ft_min_word_len过时了吗?

我有一个产品数据库,用户可以基本上搜索他们想要购买的任何产品。

我遇到了布尔搜索的问题,因为如果用户搜索'新ipad'或'ipad 4g',我想先返回最相关的结果,但是我返回的结果是不准确的全文索引仅索引长度超过4个字符的单词。

有没有办法解决?如果我将ft_min_word_len变量更改为2个字符而不是4个,然后重新编制索引,是否会造成巨大的性能下降?

回答

0

您可以减少ft_min_word_len,但它不仅会影响该表,还会影响该服务器上所有MySQL数据库中的所有表。

你的第二个选择是像Sphinx这样的全文搜索引擎,它可能有一个选项。

而第三种选择是根据搜索词更改搜索查询。在程序端,您会检测文字是否小于ft_min_word_len。如果是,则使用LIKE /% %/运行查询;否则,请使用全文搜索。