我正在尝试使用 Lucene 4.8.1 的 SearchAfter 方法在 Web 应用程序中实现搜索结果分页。
以前曾问过类似的问题,但那里给出的接受的答案对我不起作用:
Stack Overflow问题:Lucene网页分页 https://stackoverflow.com/questions/12485040/lucene-web-paging
当我以这种方式从头开始创建 Lucene ScoreDoc 并用作 SearchAfter 的参数时:
ScoreDoc sd = new ScoreDoc(14526, 0.0f);
TopDocs td = indexSearcher.searchAfter(sd, query, null, PAGEHITS);
我得到这个异常:
java.lang.IllegalArgumentException: after must be a FieldDoc
这似乎与文档相反。但无论如何,当我创建 Field Doc 时,我得到:
java.lang.IllegalArgumentException: after.fields wasn't set
after.fields 是一个对象数组,所以我很难用可以传入 URI 的信息来设置它!
我找不到任何使用 SearchAfter 的工作代码示例。我最初的计划显然是创建一个新的 ScoreDoc,如上一个问题所示。有人可以建议我可能做错了什么,或者链接到 SearchAfter 的任何工作代码示例吗?
Thanks!