【发布时间】:2015-08-10 10:01:16
【问题描述】:
我正在寻找如何在 Lucene 中缓存搜索结果的解决方案。 当我使用 Solr 时,分页要容易得多
我的 solr 代码:
query.setStart(start);
query.setRows(rows);
QueryResponse 响应 = solr.query(query);
简单的通配符搜索对于第 100 个结果大约需要 400 毫秒,而每个下一页大约需要 20-70 毫秒
但是当我每次使用 Lucene 时,我必须再次搜索,并且每个页面需要 400 毫秒
我的 Lucene 代码:
查询查询 = queryParser.parse(text);
TopScoreDocCollector 收集器=TopScoreDocCollector.create(1000000);
IndexSearcher = indexSearcher.search(查询,收集器);TopDocs 结果 =collector.topDocs(start,rows);
for (ScoreDoc scoreDoc : results.scoreDocs) {
文档文档 = indexSearcher.doc(scoreDoc.doc);
我尝试将 TopScoreDocCollector 和 IndexSearcher 设为静态,但这不起作用
您还有其他解决方案吗?
【问题讨论】: