在我当前的 Lucene 4.3 实现中,有数百万条索引记录,我执行常规 search() 并获取 topDocs.totalHits 作为结果计数。
作为其中的一部分,我将所有结果存储在会话中,然后让用户对结果进行分页。有了这个,我可以显示“第一个”“上一个”“下一个”和“最后一个”链接以进行导航以及“第 1 页,共 500 页”显示。
显然,这导致了内存问题,我现在决定使用 searchAfter() 方法,从而避免将巨大的结果集存储在内存中。
问题 1:在这种情况下,如何获得总结果数?是否有可能,因为我不会得到整个结果集?
问题 2:我知道我可以提供“上一个”和“下一个”选项来进行分页,但无论如何我仍然可以提供“最后一个”页面选项,为此我需要在最后一页开始。
请建议。
问候, 拉古