您好我目前正在使用Lucene 4.6.1
在我的设计中,我需要能够搜索和分页可能很多结果,所以我有一些关于优化的一般性问题。
首先在“搜索(查询q,int n)”中变量“n”的目标是什么,“n”是否与“.totalHits()”不同?如何选择这个数字以及使用什么规格?
其次,似乎有两种通用的分页算法。我可以使用“searchAfter”或在给定页面大小的情况下处理“ScoreDoc []”。
目前大多数人推荐的方式,以及所需的设计理念是什么?
答案 0 :(得分:2)
searchAfter可以用于高效的“深度分页”。
与Solr一起使用它的教程 http://heliosearch.org/solr/paging-and-deep-paging/
答案 1 :(得分:0)
传递给search
的int是搜索将检索的最大匹配数。来自totalHits
的{{1}}是查询的总点击次数。它可能比传入的值更多或更少。
通过处理TopDocs
数组,我不清楚你的意思。 ScoreDoc
专门用于分页。使用它。