我在布尔模式下进行MySQL FULLTEXT搜索。根据说明书:mysql全文boolean NOT运算符
Note: The - operator acts only to exclude rows that are otherwise
matched by other search terms. Thus, a boolean-mode search that
contains only terms preceded by - returns an empty result. It
does not return “all rows except those containing any of the
excluded terms.”
的确如此。
所以我用的是不匹配操作是这样的:
SELECT COUNT(*) FROM Table WHERE MATCH (Column) AGAINST
('bar' IN BOOLEAN MODE) AND NOT MATCH (Column) AGAINST
('barbar' IN BOOLEAN MODE);
我的问题是:什么是+运营商在不匹配场效果:被
AND NOT MATCH (Column) AGAINST ('foo bar' IN BOOLEAN MODE)
一样:
AND NOT MATCH (Column) AGAINST ('+foo +bar' IN BOOLEAN MODE)
感谢
谢谢,我读了。但我不明白这是什么意思,在非匹配请求的情况下。在请求WHERE NOT MATCH(column)AGAINST('+ foo + bar'IN BOOLEAN MODE):这是否意味着foo和bar都不在列条目中?如果是这样,那么它应该与WHERE NOT MATCH(column)AGAINST('foo bar'IN BOOLEAN MODE)'相同。但它不一样。 – thiebo
@thiebo。如果有帮助,请参阅我的答案中的编辑。 – Rahul