MySQL全文搜索不适用于像'house'这样的单词

时间:2011-01-06 07:35:11

标签: mysql full-text-search

我已经在3个字段的一小部分记录上设置了全文索引(尝试了3个字段的组合并且具有相同的结果),并且有些单词返回结果很好,但是某些单词如'house '和'澳大利亚'没有(有趣的是,“澳大利亚”和“家庭”)。

这似乎很奇怪。如果我添加“WITH QUERY EXPANSION”,我会得到结果,但它们现在不是最相关的。

任何人都知道为什么会这样?否则我将不得不求助于使用LIKE搜索,我更愿意包含相关性。

1 个答案:

答案 0 :(得分:10)

这可能是一些事情:

  • MySQL有一个默认的“停用词”列表,不包含在全文搜索中 - http://dev.mysql.com/doc/refman/5.5/en/fulltext-stopwords.html。 “房子”和“澳大利亚”似乎不在该列表中,但您搜索的其他字词可能会受到影响。
  • 数据库中超过50%的行中出现的任何单词或3个字母或更短的单词也被视为停用词。如果你只是在一个只有几行的桌子上测试全文搜索,50%的东西特别容易被抓住。

如果你在Google上搜索“mysql stop words”,你会发现更多关于它的信息,因为这是吸引很多人的事情之一。