以特定顺序存储和检索Lucene文档

时间:2019-05-17 14:14:47

标签: lucene

我正在使用Lucene 7.3.1。为了允许在我的自定义收集器中尽早终止,我正在尝试在索引编制时按特定顺序存储文档。目的是按照我的收藏家的collect方法中的顺序将它们退回

我添加了一个用于对所有文档进行排序的字段

doc.add(new SortedDocValuesField("mySort", new BytesRef(value)));

我的indexWriter定义为

IndexWriterConfig conf = new IndexWriterConfig(analyzer);
conf.setIndexSort(new Sort(new SortField("mySort", SortField.Type.STRING)));
indexWriter = new IndexWriter(directory, conf);

然后在搜索时

indexReader.search(query, myCollector);

我希望在myCollector的accept方法中,以mySort顺序接收匹配的文档,但是它们仍按docId排序

我已经看到在旧版本的Lucene中可以做到这一点的示例,我试图将其转换为Lucene 7,但仍然无法正常工作

我做错了什么? 谢谢

0 个答案:

没有答案