1

我添加了一个字段,ID其中STORE NO和字段将仅包含唯一 ID。NOT ANALYZEDindex.ID

我想使用IN查询。例如,如果我只想通过在索引中搜索 id 为 1、2、3、4 的文档,我尝试了 QueryParser 用空格 1 2 3 4 分隔 id。

它确实给了我。但是有没有其他更快更可行的方法呢?

4

1 回答 1

2

如果您看一下这个问题,还有其他一些方法可以实现IN运算符。

默认情况下,传递给Lucene.Net(空格分隔的术语)的所有术语都是 ORed。执行,

Id: 1 2 3 4

将返回与传递的任何 id 匹配的所有文档。

你可以使用类似的东西,

var collection = new[] { "1", "2", "3", "4" };
var query = new QueryParser(version, propertyName, analyzer)
    .Parse(string.Join(" ", collection));

将术语列表作为运算符传递给 Lucene.Net IN

于 2013-02-19T05:24:53.347 回答