我正在使用Lucene的contrib/demo目录中的SearchFiles类.我想要检索与查询匹配的所有文档,而不是以分页形式搜索结果.有没有办法用现有的API(3.4)做到这一点?似乎所有搜索功能都需要一个整数来指示返回的命中数.
演示代码看起来像
TopDocs results = searcher.search(query, 5 * hitsPerPage);
ScoreDoc[] its = results.scoreDocs;
Run Code Online (Sandbox Code Playgroud)
这只会返回固定数量的结果
如果使用Lucene Reader,即IndexReader,您可以通过编写来帮助自己
TopDocs results = searcher.search(query, reader.numDocs());
Run Code Online (Sandbox Code Playgroud)
这将确保搜索中不会遗漏任何结果.
编写您自己的Collector并将其用作searcher.Search(query, new MyCollector());
http://lucene.apache.org/java/3_4_0/api/core/org/apache/lucene/search/Collector.html
| 归档时间: |
|
| 查看次数: |
2849 次 |
| 最近记录: |