1

如何从 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'

没有按预期工作。

4

1 回答 1

1

这是不可能的NOTor -,因为否定不能是 FTS 查询中的唯一运算符。

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

SELECT ...
FROM MyTable
WHERE ID NOT IN (SELECT docid
                 FROM MyTableFTS
                 WHERE MyTableFTS MATCH 'phrase');
于 2016-12-20T11:58:10.237 回答