【发布时间】:2012-08-18 02:13:06
【问题描述】:
我可以在col1/col2 中使用匹配来搜索具有foo 和bar 的行:
SELECT col1, col2
FROM some_table
WHERE MATCH (col1,col2)
AGAINST ('+foo +bar' IN BOOLEAN MODE);
但假设我想搜索确切的短语 "foo.bar" (中间有句号)。在the docs page for Boolean Full-Text Searches 上,它没有提到句号是操作员,所以我想我可以使用:
AGAINST ('+foo.bar' IN BOOLEAN MODE);
但是,这会返回与以下相同的结果:
AGAINST ('+foo.couldBeAnything' IN BOOLEAN MODE);
AGAINST ('+foo' IN BOOLEAN MODE);
AGAINST ('+foo.*' IN BOOLEAN MODE); #Note you would expect this to look for instances of foo. followed by something, rather than just the same as foo
.
为什么这没有像我预期的那样工作?以及如何匹配foo.bar?
【问题讨论】:
标签: mysql match-against