Sqlite FTS3 / 4只搜索不到

时间:2016-12-19 21:35:43

标签: sqlite full-text-search fts3 fts4

如何选择除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 个答案:

答案 0 :(得分:0)

NOT-无法做到这一点,因为否定不能是FTS查询中唯一的运算符。

您必须搜索短语,并使用普通SQL从结果中排除这些行:

SELECT ...
FROM MyTable
WHERE ID NOT IN (SELECT docid
                 FROM MyTableFTS
                 WHERE MyTableFTS MATCH 'phrase');