mysql匹配多个单词

風吟月*_*風吟月 14 mysql full-text-search

下面是我坚持使用的一个示例sql,它不会返回名为"iphone 4s"的产品,它返回10个其他结果.任何帮助都会非常感谢

第一个sql示例

SELECT * FROM products 
          WHERE match(desc) against('+iphone +4s' IN BOOLEAN MODE) LIMIT 10";
Run Code Online (Sandbox Code Playgroud)

结果:包含"iphone"和"4s"字样

第二个sql示例

SELECT * FROM products 
           WHERE match(desc) against('+iphone 4s' IN BOOLEAN MODE) LIMIT 10";
Run Code Online (Sandbox Code Playgroud)

结果:包含单词'iphone',但如果它们也包含'4s'则排列更高

第3个sql示例

SELECT * FROM products 
           WHERE match(desc) against('iphone 4s' IN BOOLEAN MODE) LIMIT 10";
Run Code Online (Sandbox Code Playgroud)

结果:包含"iphone"或"4s"字样

我想搜索的是'iphone 4s',但它带有其他结果,比如'iphone很好,但是4s ......','新的iphone 5已发布......',...

任何人都可以帮我解决吗?谢谢.

Joa*_*son 16

要匹配精确的词组,只需使用双引号括起要匹配的词组;

SELECT * 
FROM products 
WHERE MATCH(desc) 
      AGAINST('"iphone 4s"' IN BOOLEAN MODE) 
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

有关手册页的更多信息.