MySQL全文停用词问题

标签 mysql full-text-search stop-words

我有一个名为“products”的数据库和一个包含列的 FULLTEXT 索引:titledescription。我的产品都是润滑剂(油),分为工业用和机动用两种,含油率55%-45%。 如果我在 auto-moto oils 之后进行搜索,那么它不会返回任何结果,因为“auto-moto”关键字出现在超过一半的行中,并且所有行中都有油,所以 MySQL 将它们放入停用词列表。

我正在使用 PHP。我怎样才能进行该查询以返回正确的结果?

最佳答案

答案是 IN BOOLEAN MODE 。如果您使用 bool 模式,那么 mysql 将忽略该键出现在超过 50% 的行中。同时它有一个非常强大和有用的能力:AGAINST ('*key*')

关于MySQL全文停用词问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4449431/

相关文章:

javascript - PHP 查询数据库

c# - 按相关性/排名对搜索结果进行排序

elasticsearch - 如何使用elasticsearch nest API创建自定义分析器以忽略重音和pt-br停用词?

sql-server - 全文搜索 : Noise words are being searched for

javascript - 从句子中删除停用词

php - 有没有办法对从 MySQL 检索的特定数据进行样式化?

java - 为什么浏览器显示 MySQL 数据库的问号?

php - MYSQL:连接多个表 - 用用户名替换多个用户ID

带有通配符和文字的 mysql boolean 模式全文搜索

full-text-search - Elasticsearch:是否可以编写区分大小写的查询?