SQLITE3 FTS否定搜索(SQlite3 fts negate search)

2019-10-22 02:52发布

Hi和感谢寻找!

我在寻找包含全文搜索,像这样的特定字符串的文章:

SELECT * FROM Articles_fts WHERE body MATCH 'monkey OR banana OR "hungry gorilla"';

我真正的搜索(22项)更长的时间,可能不这样做的最聪明的方式,但它的工作所以没有问题。

我需要什么......现在我想回到什么这个搜索返回相反的帮助 。 换句话说,我希望所有不包含猴子,香蕉,或“饥饿的猩猩”的文章。

首先十分感谢!

Answer 1:

NOT仅当SQLite的是与编译启用增强FTS查询语法 。

否则,你可以使用SQL集合运算否定的结果:

SELECT *
FROM Articles
WHERE id NOT IN (SELECT docid
                 FROM Articles_fts
                 WHERE body MATCH '...')


文章来源: SQlite3 fts negate search