-1

如何在 Lucene 中实现“SELECT * FROM Users WHERE ID NOT IN(4,5,6)”

4

2 回答 2

0

以下是仅使用基于 Lucene 查询的对象的方法。您将MUST_NOT/-MatchAllDocsQuery结合使用。(有关为什么需要 MatchAllDocsQuery 的更多信息,请参阅此问题的答案。)

您的查询将如下所示: *:* -ID:4 -ID:5 -ID:6

于 2013-05-09T15:10:34.127 回答
0

尝试:

NOT(ID:(4 OR 5 OR 6)) AND *:*

Lucene QueryParser 将为该表达式生成一个查询,该查询给出与您给出的 SQL 查询相似的结果。AND :是必要的,因为 Lucene 不会为纯粹的否定查询返回任何结果。

于 2013-05-09T03:30:40.523 回答