按文档ID的降序搜索Lucene

时间:2014-08-18 13:15:34

标签: java lucene

我希望有人可以帮助我。

我有一个包含数万个文档的索引。每个文档由几个带文本的字段和一个带ID(整数)的字段组成。搜索提供了ID列表。

为节省资源,搜索结果的最大数量限制为10000.通常情况下效果非常好。现在发生了一个案例,其中将发现超过10000个结果。让我们说15000.默认情况下,Lucene会按照DocID的递增顺序进行搜索,因此Lucene会提供前10000个ID。

如果Lucene提供最后10000个ID,我会发现它更好,因此找到了更新的文档。有没有办法按递减顺序更改Lucene搜索?

1 个答案:

答案 0 :(得分:0)

只需按顺序创建按文档ID排序的排序。

Sort sort = new Sort(
   new SortField(
      null,                    // or specify a field
      SortField.Type.DOC, 
      true
   )
);

然后搜索top,err,bottom 10K docs:

indexSearcher.search(query, 10000);