MySQL 匹配多个值以 AGAINST

Posted

技术标签:

【中文标题】MySQL 匹配多个值以 AGAINST【英文标题】:MySQL Match Against with Multiple Values to AGAINST 【发布时间】:2013-02-20 18:15:03 【问题描述】:

我认为这是一个非常简单的查询,但我在任何编程书籍或网上都找不到它。

我有这个问题: SELECT * FROM test WHERE MATCH (column1,column2) AGAINST ('value1');

但我需要 AGAINST 才能拥有多个值,例如(值1,值2,值3)

谁能帮忙?

【问题讨论】:

【参考方案1】:

我认为BOOLEAN MODE 修饰符可能是您正在寻找的。​​p>

SELECT * FROM test WHERE MATCH (column1,column2) 
     AGAINST ('+value1 +value2 +value3' IN BOOLEAN MODE);

【讨论】:

快速提问。根据您提供的链接 (+value1 +value2) 表示“查找包含两个单词的行”。但在我的测试中: Select * FROM test WHERE MATCH ('title,description') AGAINST ('+val1 +val2' IN BOOLEAN MODE) 结果值显示没有 val2 的行。有什么想法吗? nvm 我使用的 val2 是“仅”这个词。我认为mysql将“仅”理解为停用词。感谢布尔模式,这是我所需要的!

以上是关于MySQL 匹配多个值以 AGAINST的主要内容,如果未能解决你的问题,请参考以下文章

PHP Mysql PDO查询来自foreach存储的多个值以供输出

Mongoose - 是不是可以修改键的值以匹配 find() 查询的 where 条件?

输入值以部分匹配数组中的项目并返回 true

return 语句中使用的局部变量不会隐式转换为 r 值以匹配转换运算符

雄辩 |添加自定义值以选择

Hive查询:匹配列数组的字符串值以生成标志