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

标签 sql mysql full-text-search noise

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

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

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

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

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

最佳答案

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

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

关于sql - 如何禁用mysql的匹配查询的50%排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3283706/

相关文章:

javascript - Node + Mysql - 连接问题

mysql - 错误代码 : 1290. MySQL 服务器正在使用 --secure-file-priv 选项运行,因此无法执行此语句

php - 在多个数据库中搜索的更快方法

sql-server - TSQL - 使用全文 CONTAINS 的连接

多列中多个值的 SQL CASE WHEN

sql - 基于一列组合具有不同列数的多个表

python - 函数序列错误 (0) (SQLFetch) - SQL、Pyodbc

mysql - 突出显示 `MySQL` 查询的语法

引用另一列从行到列的sql数据

php - 通过 SQL 的 MySQL 全文索引不起作用