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 '...')
Другие вопросы по тегам