«Показать все, кроме» в булевых полнотекстовых поисках MySQL - PullRequest
1 голос
/ 12 октября 2010

С помощью полнотекстового поиска MySQL ...

http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html

Ведущий знак минус означает, что это слово не должно присутствовать в любом возвращаемых строк.

Примечание: оператор - действует только для исключить строки, которые в противном случае соответствует другим условиям поиска. Таким образом, поиск в логическом режиме, который содержит только условия предшествуют - возвращает пустой результат. Не возвращает «все строки» кроме тех, которые содержат какие-либо из исключенные условия. ”

Есть ли способ выполнить поиск по всем строкам, кроме тех, которые содержат какие-либо исключенные термины?

нравится (+ * -блах -блах2)

1 Ответ

2 голосов
/ 12 октября 2010

Нет, но это будет эквивалентно просто NOT условию:

SELECT *
FROM foo
WHERE NOT MATCH (bar) AGAINST ('blah blah2')

Конечно, такой запрос не может фактически использовать полнотекстовый индекс для быстрого поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...