如何禁用mysql匹配查询50%排除

时间:2010-07-19 18:04:21

标签: sql mysql full-text-search noise

显然,如果Mysql表的全文索引包含出现在50%数据行中的关键字,匹配查询将忽略该关键字

因此,如果我有一个包含全文索引'content'的表,其中包含50个条目 其中27个条目在内容字段中包含“计算机”一词,我运行查询:

SELECT * 
  FROM `table` 
 WHERE MATCH(`content`) AGAINST ('computer'); 

...计算机查询将返回零结果,因为计算机出现在超过50%的条目中,因此关键字被忽略...

有没有办法禁用此功能,尤其是因为这在数据库生命周期的开始阶段存在问题

2 个答案:

答案 0 :(得分:2)

使用BOOLEAN全文搜索来绕过50%的功能。

http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html

答案 1 :(得分:0)

是的,使用布尔全文搜索选项

See here Mysql Manual

手册说“他们没有使用50%的门槛。”

MySQL中的搜索并不直观,手册有点令人困惑,因此您需要仔细阅读并准备一些测试用例以确保它正常工作并且您已正确实施(来自痛苦的经历)。 / p>

有许多其他搜索插件具有不同的复杂性,您可能希望看到它们表现更好,但是它很有必要掌握本机版本,因为它很快且(容易?)脏。