【问题标题】:MySQL FULL TEXT SEARCH only filter matched word contains resultsMySQL FULL TEXT SEARCH 仅过滤匹配的单词包含结果
【发布时间】:2013-06-14 16:27:37
【问题描述】:

我正在编写一个用于搜索功能的全文查询。 如果只包含匹配的单词,它需要得到结果, 前-

产品名称 -

第一个产品-喷墨爱普生打印机1158,

第二个产品-喷墨惠普打印机2250

如果用户搜索注入打印机,它应该同时显示

喷墨爱普生打印机1158,喷墨惠普打印机2250

如果用户搜索inkjet epson,它应该显示一个

喷墨爱普生打印机 1158**

如果用户搜索 hp 打印机,它应该 显示一个

喷墨惠普打印机 2250

为此我使用了 + 运算符

SELECT * FROM products WHERE MATCH(pro_name) AGAINST('+inkjet +epson ')
SELECT * FROM products WHERE MATCH(pro_name) AGAINST('+hp +printer')

但是我得到了这两种产品的结果,任何人都可以帮我解决这个问题。 谢谢

【问题讨论】:

    标签: php mysql sql full-text-search


    【解决方案1】:

    试试这个

    SELECT * FROM products WHERE MATCH(pro_name) AGAINST('+inkjet* +epson*' IN BOOLEAN MODE) 或

    SELECT * FROM products WHERE MATCH(pro_name) AGAINST('+inkjet +epson' IN BOOLEAN MODE)

    SELECT * FROM products WHERE MATCH(pro_name) AGAINST('+hp* +printer*' IN BOOLEAN MODE) 或

    SELECT * FROM products WHERE MATCH(pro_name) AGAINST('+hp +printer' IN BOOLEAN MODE)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 2022-11-19
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 2013-11-28
      相关资源
      最近更新 更多