如何在 Lucene 中实现“SELECT * FROM Users WHERE ID NOT IN(4,5,6)”
问问题
493 次
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 回答