Я выполняю поиск MySQL FULLTEXT в булевом режиме. В соответствии с руководством:mysql fulltext boolean NOT operator
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.”
Это правда.
Поэтому я использую оператор NOT MATCH, как это:
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)
Благодаря
Спасибо, я прочитал, что. Но я не понимаю, что это значит в случае запроса NOT MATCH. В запросе 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