SQlite3 fts отменить поиск
Привет и спасибо за внимание!
Я ищу статьи, которые содержат определенные строки с полнотекстовым поиском, что-то вроде этого:
SELECT * FROM Articles_fts WHERE body MATCH 'monkey OR banana OR "hungry gorilla"';
Мой реальный поиск намного длиннее (22 условия) и, вероятно, не самый умный способ сделать это, но он работает, поэтому никаких проблем нет.
Что мне нужно помочь с... Теперь я хочу вернуть противоположное, что возвращает этот поиск. Другими словами, я хочу, чтобы все статьи не содержали обезьян, бананов или "голодных горилл".
Большое спасибо заранее!
1 ответ
NOT доступен только тогда, когда SQLite был скомпилирован с включенным расширенным синтаксисом запросов FTS.
В противном случае вы можете использовать операции набора SQL для отмены результата:
SELECT *
FROM Articles
WHERE id NOT IN (SELECT docid
FROM Articles_fts
WHERE body MATCH '...')