Sqlite FTS3/4 только НЕ искать
Как выбрать все строки, кроме ненужных из таблицы SQLite FTS3 или FTS4?
select * from table where table match 'column:NOT phrase'
select * from table where table match 'column:-phrase'
select * from table where table match 'column:* NOT phrase'
не работает, как ожидалось.
1 ответ
Это не возможно ни с NOT
или же -
потому что отрицание не должно быть единственным оператором в запросе FTS.
Вы должны найти фразу и исключить эти строки из результата с помощью обычного SQL:
SELECT ...
FROM MyTable
WHERE ID NOT IN (SELECT docid
FROM MyTableFTS
WHERE MyTableFTS MATCH 'phrase');