我有一个mysql查询如下:
SELECT *, MATCH(songtitle) AGAINST('{keyword}') as Relevance FROM links WHERE approved = "true" AND MATCH(songtitle) AGAINST('{keyword}' IN BOOLEAN MODE) ORDER BY Relevance DESC, score DESC LIMIT 5
这通常按预期工作,但对于某些查询,它不会返回正确的结果。它似乎与所用关键字的长度或字母数字组成有关。
例如,我有一行其中songtitle的值是“Jay Z”。我也有几个名字叫“Jay Sean”
搜索“Jay”或“Jay Z”不会返回任何这些结果。寻找“Jay Sean”有着预期和期望的结果。
我猜这与“Jay”和“jay z”中的少量角色有关?
有关于此的任何信息吗?
谢谢! 戴夫
答案 0 :(得分:4)
您要查找的变量是ft_min_word_len,请参阅http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html之后重建索引。