mysql全文MATCH,AGAINST返回0结果

时间:2010-09-26 13:15:35

标签: mysql full-text-search

我想关注:http://dev.mysql.com/doc/refman/4.1/en/fulltext-natural-language.html

尝试改进搜索查询,包括速度和按分数排序的能力。

然而,当使用这个SQL时(“skitt”被用作搜索词,所以我可以尝试匹配Skittles)。

SELECT 
    id,name,description,price,image, 
    MATCH (name,description) 
    AGAINST ('skitt') 
    AS score 
FROM 
    products 
WHERE 
    MATCH (name,description)
AGAINST ('skitt')

它返回0结果。我试图找出原因,我想我可能设置了我的索引错了我不确定,这是我第一次偏离LIKE!

这是我的表结构和数据:

alt text

谢谢!

1 个答案:

答案 0 :(得分:5)

默认情况下,某些字词会从搜索中排除。这些被称为stopwords。 “a”是一个停用词的例子。您可以使用不是停用词的单词来测试查询,也可以禁用停用词:

如果您还要匹配前缀,请使用truncation operator in boolean mode

  

*

     

星号用作截断(或通配符)运算符。与其他运算符不同,它应附加到受影响的单词上。如果单词以*运算符前面的单词开头,则单词匹配。