【发布时间】:2019-09-02 23:29:29
【问题描述】:
我正在努力在 Lucene 中实现分页。目前我已经用 TopDocs 实现了它,并且我得到了很多重复的结果。我究竟做错了什么?这里 index 是我从 1 开始并在每次搜索后递增 1 的页码,resultSize 是请求的对象数。
代码:
Directory directory = FSDirectory.open(path);
IndexReader indexReader = DirectoryReader.open(directory);
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
Query query = new WildcardQuery(new Term("contents", "*" + text + "*"));
TopScoreDocCollector collector = TopScoreDocCollector.create(9999);
indexSearcher.search(query, collector);
TopDocs topDocs = collector.topDocs(index-1, resultSize);
for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
Document document = indexSearcher.doc(scoreDoc.doc);
IndexableField value = document.getField("score");
}
谢谢。
【问题讨论】:
标签: java search indexing pagination lucene