1

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 中获取字段

4

1 回答 1

1

采用

MultiFields.getFields(ir)

反而

于 2013-03-17T11:01:12.943 回答