【问题标题】:Lucene: How to restrict the number of hits?Lucene:如何限制点击次数?
【发布时间】:2013-03-01 17:12:06
【问题描述】:

我有一个网页表单,用于搜索用户上传到网站的所有照片。问题是 Lucene 搜索当前正在检索所有符合搜索条件的照片,尽管我们在页面上只显示了 21 张照片。这会导致严重的性能问题。是否可以将检索到的照片数量限制为 21 以提高性能?

与我们可以通过使用 eg (Category: New) 来限制搜索到特定类别的方式相同,是否有类似的方式来限制点击次数?

【问题讨论】:

  • Lucene Searcher 具有允许限制搜索结果的相关 API。但是,如果没有看到您的代码,我们无法建议究竟需要修复什么。

标签: lucene query-parser


【解决方案1】:

这就是我所做的: 搜索方法将结果数作为参数。我通过 pageSize*page。 所以对于第 1 页,我只得到 pageSize 文档。

然后我只为我需要的页面加载文档(使用 searcher.doc())。

TopDocs hits = searcher.search(lucene_query, pageSize*(page));

ScoreDoc[] scoreDocs = hits.scoreDocs;

int j = startIndex;
int rem = 0;

while (j < scoreDocs.length && (endIndex==0 || j<endIndex)) {

    ScoreDoc sd = scoreDocs[j];
    Document d = searcher.doc(sd.doc);

}

【讨论】:

    猜你喜欢
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多