我在我的网站上使用全文搜索实现了搜索功能。
通常情况下它工作正常,但有时候不行,例如当我使用关键词"ship"搜索时可以得到结果,但使用"shi"却没有结果。
但是它应该返回结果。请帮我找出原因。
我在我的网站上使用全文搜索实现了搜索功能。
通常情况下它工作正常,但有时候不行,例如当我使用关键词"ship"搜索时可以得到结果,但使用"shi"却没有结果。
但是它应该返回结果。请帮我找出原因。
ft_min_word_len
和 ft_max_word_len
是系统变量,用来定义索引的单词最小和最大长度。默认的最小值为4个字符,所以不能处理3个字符的单词。
如果你想搜索三个字符的单词,需要修改这个变量的值,并重建FULLTEXT
索引。你可以在配置文件中修改ft_min_word_len
变量的值,也可以使用超级用户权限设置这个环境变量:
SET ft_min_word_len=3
在这里获取更多细节:优化MySQL全文搜索