我有一个奇怪的问题——我使用 MySQL 5.1 和一个带有Fulltable-Index的表。在 mysql 配置中,ft_min_word_len
设置为 2(因此索引长度至少为两个字符的单词)。
下面的查询已简化,但与原始查询具有相同的效果。
当我搜索:
SELECT company FROM my_table WHERE MATCH (company) AGAINST ('intern*' IN BOOLEAN MODE)
我得到了名称中带有“internat”的公司——比如“International Inc.”、“Internship.org”。
但是,当我搜索:
SELECT company FROM my_table WHERE MATCH (company) AGAINST ('just*' IN BOOLEAN MODE)
我没有得到任何结果,尽管“正义与旅行”表中有一个条目。
但是当我搜索:
SELECT company FROM my_table WHERE MATCH (company) AGAINST ('travelling*' IN BOOLEAN MODE)
我得到“正义与旅行”-输入/正确结果。
如果我用LIKE %just%
而不是搜索MATCH-AGAINST
,我也会得到正确的结果。
有谁知道,为什么我在第二个提到的查询中没有得到正确的结果?