MATCH()反对()问题

时间:2010-08-01 02:17:47

标签: mysql full-text-search

我有一个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”中的少量角色有关?

有关于此的任何信息吗?

谢谢! 戴夫

1 个答案:

答案 0 :(得分:4)

您要查找的变量是ft_min_word_len,请参阅http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html之后重建索引。