mysql FULLTEXT布尔模式搜索中缺少结果

时间:2015-06-01 00:50:10

标签: mysql fulltext-index

我尝试使用FULLTEXT索引以便于搜索论坛帖子。它没有以我期望的方式工作,我试图理解为什么不这样做。

例如,我知道只有一个帖子包含短语"haha and i got three",所以我执行查询

select * from forum_posts where
match(message) against ('"haha and i got three"' in boolean mode);

正如我所料,我发现包含这句话的单一帖子。万岁!

然后我执行相关查询:

select * from forum_posts where
match(message) against ('"and i got three"' in boolean mode);

并且没有结果。事实上,只需搜索单词" three":

select * from forum_posts where
match(message) against ('three' in boolean mode);

也没有结果。

可能会发生什么?

1 个答案:

答案 0 :(得分:1)

我认为您需要了解停用词和最小字长。

我的默认值,MySQL忽略全文索引中的停用词。 Here是他们的列表。 “我得到了三个”就是一句话。

此外,默认情况下,MySQL会忽略小于字符的单词。这由参数控制。这将更详细地解释here

听起来您需要更改停用词列表并更改最小字长并重建索引。