我有一个名为“products”的数据库和一个包含列的 FULLTEXT 索引:title
和 description
。我的产品都是润滑剂(油),分为工业用和机动用两种,含油率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/