首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >分页Lucene的搜索结果

分页Lucene的搜索结果
EN

Stack Overflow用户
提问于 2008-12-08 22:29:30
回答 1查看 10.8K关注 0票数 19

我正在使用Lucene在web应用程序中显示搜索结果,我也是自定义分页来显示相同的结果。搜索结果可能从5,000到10000或更多。有人能告诉我对搜索结果进行分页和缓存的最佳策略吗?

EN

回答 1

Stack Overflow用户

发布于 2008-12-08 22:49:28

我建议您不要缓存结果,至少不要在应用程序级别缓存。不过,在具有大量内存的机器上运行Lucene会有所帮助,因为操作系统可以使用这些内存来缓存文件。

只需对每个页面使用不同的偏移量重复搜索即可。缓存引入了状态性,这最终会降低性能。我们有数百个并发用户在搜索超过4000万个文档的索引。在不使用显式缓存的情况下,搜索在不到一秒的时间内完成。

使用从搜索返回的Hits对象,您可以访问如下所示页面的文档:

代码语言:javascript
复制
Hits hits = searcher.search(query);
int offset = page * recordsPerPage;
int count = Math.min(hits.length() - offset, recordsPerPage);
for (int i = 0; i < count; ++i) {
  Document doc = hits.doc(offset + i);
  ...
}
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/351176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档