2017-02-13 1 views
0

저는 Lucene에 익숙하며 Lucene 4.10.4를 사용하고 있습니다. 몇 가지 설명을 위해, 나는 lucene 검색 시간 동안 색인에서 읽는 모든 단어를 인쇄하려고합니다. 나는 검색 문자열을 기반으로 색인의 모든 단어를 Lucene이 비교하지 않고 건너 뛰는 것을 이해하려고합니다. 일부 lucene 클래스에서 print 문을 사용하여 단어를 인쇄 해 보았습니다. 그러나 그것은 효과가 없었습니다. print 서술문은 어디에서 사용할 수 있습니까?색인에 단어를 인쇄하십시오 - Lucene

답변

1

이와 비슷한 기능이 제공됩니다. 이 코드는 Lucene을 열고 모든 필드를 반복하고 모든 용어를 나열합니다. 여기서 필요한 필드를 쉽게 건너 뛸 수 있습니다.

 IndexReader reader = DirectoryReader.open(dir); 
     final Fields fields = MultiFields.getFields(reader); 
     final Iterator<String> iterator = fields.iterator(); 

     while(iterator.hasNext()) { 
      final String field = iterator.next(); 
      final Terms terms = MultiFields.getTerms(reader, field); 
      final TermsEnum it = terms.iterator(null); 
      BytesRef term = it.next(); 
      while (term != null) { 
       System.out.println(term.utf8ToString()); 
       term = it.next(); 
      } 
     } 
관련 문제