【发布时间】:2014-05-06 11:11:34
【问题描述】:
我一直在查看 MySQL documentation 中布尔全文搜索的示例,但它们并没有为我提供足够的信息来自信地使用运算符(特别是 +、- 和 @ 987654324@) 与短语(而不是单个单词)结合使用。 StackOverflow 上有很多关于使用布尔模式的问题,但都非常具体。
MySQL Boolean Full-Text Searches 文档中没有任何内容说明运算符是否(如果可以,如何)可以与短语一起使用。例如,当我使用以下查询时,MySQL 不会抱怨:
SELECT * AS relevance FROM deliverables WHERE MATCH(title,description) AGAINST('+"customer engagement" vendor' IN BOOLEAN MODE)
这表明语法是有效的,但它返回的匹配项不在标题或描述的任何地方都包含“客户”一词!所以加号显然没有达到预期的效果。
所以我的问题可以改写:在短语中使用运算符的规则是什么?
子问题包括:
-
+"some phrase"有效吗? (我的测试表明是这样,但+可能会被忽略。) -
-"some phrase"有效吗? (我的测试表明是这样,而且它似乎按预期工作。) -
"som* phrase"有效吗? (我的测试表明是这样,但它从不匹配任何东西。) -
"some phra*"有效吗? (我的测试表明是这样,但它从不匹配任何东西。)
【问题讨论】: