我们将在这里从Lucene 3.3.0升级到Lucene 4.2.1,我似乎找不到旧的IndexReader.getFieldNames方法的替代品。 Googling调出this ticket,它表示一个新的IndexReader.getFieldInfos方法,但是那是实验性的,似乎不再存在-线索很冷。
如何在Lucene 4中复制IndexReader.getFieldNames的行为?
最佳答案
您可以通过FieldInfos获得AtomicReader.getFieldInfos()。
类似于以下内容:
for (FieldInfo info : atomicReader.getFieldInfos().iterator()) {
String name = info.name;
//Whatever you need to do with the name.
}
看一下Migration Guide以获得更多信息,这里有一个关于IndexReader-> AtomicReader的部分。如果您还不熟悉该更改,则可能会找到有用的信息。