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

Nin*_*ein 5 mysql full-text-search

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

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

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

mik*_*kel 10

这可能是两件事:

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

如果你在谷歌搜索"mysql停用词",你会发现更多关于它的信息,因为这是吸引了很多人的事情之一.