SQlite3 fts否定了搜索

时间:2015-02-26 13:36:29

标签: sqlite full-text-search negation

嗨,谢谢你的期待!

我正在搜索包含某些字符串和全文搜索的文章,如下所示:

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

我真正的搜索时间更长(22个术语),可能不是最聪明的方式,但它的工作没有问题。

我需要帮助...... 现在我想返回此搜索返回的OPPOSITE。换句话说,我想要所有不包含猴子,香蕉或“饥饿的大猩猩”的文章。

非常感谢!

1 个答案:

答案 0 :(得分:1)

仅当使用enhanced FTS query syntax enabled编译SQLite时才可用。

否则,您可以使用SQL set操作来否定结果:

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