现在,如果在Lucene 4.1中不存在TermEnum,你是如何从IndexReader获取字段的?

时间:2013-02-19 14:44:39

标签: java lucene

相当于Lucene 4.1中的这个3.6代码:

IndexReader ir = IndexReader.open(dir);
TermEnum termEnum = ir.terms(t);

在我的许多测试用例中使用

我已查看了

的迁移指南
TermEnum termsEnum = ...;
while(termsEnum.next()) {
  Term t = termsEnum.term();
  System.out.println("field=" + t.field() + "; text=" + t.text());
}

Do this:

for(String field : fields) {
    Terms terms = fields.terms(field);
    TermsEnum termsEnum = terms.iterator(null);
    BytesRef text;
    while((text = termsEnum.next()) != null) {
      System.out.println("field=" + field + "; text=" + text.utf8ToString());
  }
}

但是,但是字段来自哪里,我如何从我的IndexReader获取字段

1 个答案:

答案 0 :(得分:1)

使用

MultiFields.getFields(ir)

代替