如何在Lucene中实现“SELECT * FROM Users WHERE ID NOT IN(4,5,6)”
答案 0 :(得分:0)
尝试:
NOT(ID:(4 OR 5 OR 6)) AND *:*
Lucene QueryParser将为该表达式生成一个查询,该查询提供与您提供的SQL查询类似的结果。 AND :是必要的,因为Lucene不会为纯粹的否定查询提供任何结果。
答案 1 :(得分:0)
以下是使用基于Lucene Query的对象的方法。您将MUST_NOT
/ -
与MatchAllDocsQuery结合使用。 (有关为什么需要MatchAllDocsQuery的更多信息,请参阅this question的答案。)
您的查询将如下所示:
*:* -ID:4 -ID:5 -ID:6