【问题标题】:Search Lucene in decreasing order of doc Id按文档 ID 降序搜索 Lucene
【发布时间】:2014-08-18 13:15:33
【问题描述】:

我希望有人可以帮助我。

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

为了节省资源,搜索结果的最大数量限制为 10000。通常这很有效。现在发生了一个案例,其中将找到超过 10000 个结果。假设是 15000。Lucene 默认按 DocID 的递增顺序搜索,因此 Lucene 提供前 10000 个 ID。

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

【问题讨论】:

    标签: java lucene


    【解决方案1】:

    只需创建一个按文档 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      • 2011-10-07
      相关资源
      最近更新 更多