什么是像LUCENE.NET的SQL Server的“IN”等等运算符

时间:2011-08-25 08:26:46

标签: lucene.net

如何在LUCENE.NET中获得“IN”(SQL Server)功能?

假设某些记录存在ID:a,b,c,d,e,f,..

所以我想通过Lucene.net获取('a','b','c')中的记录。

请告诉我如何在Lucene.net上撰写此查询。

先谢谢。

2 个答案:

答案 0 :(得分:2)

您需要使用带有SHOULD子句的BooleanQuery。

BooleanQuery query = new BooleanQuery();
query.Add(new TermQuery(new Term("ID", "a"), Occur.SHOULD));
query.Add(new TermQuery(new Term("ID", "b"), Occur.SHOULD));
query.Add(new TermQuery(new Term("ID", "c"), Occur.SHOULD));

这意味着任何结果必须具有ID = a,b或c。

答案 1 :(得分:0)

查询q =新的QueryParser(“ID”,新的YourAnalyzer())。Parse(“a b c d”):)