FSDirectory directory = FSDirectory.open(new File("xxx"));
IndexReader indexReader = DirectoryReader.open(directory);
String[] fields = {"xxx"};
for (int i = 0; i < fields.length; i++) {
Terms ter = MultiFields.getTerms(indexReader, fields[i]);
TermsEnum iterator = ter.iterator(TermsEnum.EMPTY);
BytesRef bytesRef;
while (ObjectUtil.isNotEmpty(bytesRef = iterator.next())) {
String oneTermStr = new String(bytesRef.bytes, bytesRef.offset,
bytesRef.length, Charset.forName("utf-8"));
Map map = new HashMap();
map.put("name", TermsValueEnum.convert(fields[i]));
map.put("freq", iterator.docFreq());
map.put("text", oneTermStr);
map.put("totalTermFreq", indexReader.totalTermFreq(new Term(fields[i], bytesRef)));
}
}