我们正在这里从Lucene 3.3.0升级到Lucene
4.2.1,我似乎找不到旧的IndexReader.getFieldNames方法的替代品。Googling提出了这张票证,其中提到了一个新的IndexReader.getFieldInfos方法,但是那是实验性的,并且似乎不再存在-
步履蹒跚。
如何在Lucene 4中复制IndexReader.getFieldNames的行为?
您可以使用AtomicReader.getFieldInfos()获得FieldInfos。
类似于以下内容:
for (FieldInfo info : atomicReader.getFieldInfos().iterator()) {
String name = info.name;
//Whatever you need to do with the name.
}
查看《迁移指南》以了解更多信息,其中有一个有关IndexReader->
AtomicReader的部分。如果您还不熟悉该更改,则可能会发现有用的信息。