我想关注: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!
这是我的表结构和数据:
谢谢!
答案 0 :(得分:5)
默认情况下,某些字词会从搜索中排除。这些被称为stopwords。 “a”是一个停用词的例子。您可以使用不是停用词的单词来测试查询,也可以禁用停用词:
如果您还要匹配前缀,请使用truncation operator in boolean mode:
*
星号用作截断(或通配符)运算符。与其他运算符不同,它应附加到受影响的单词上。如果单词以*运算符前面的单词开头,则单词匹配。