2013-10-06 6 views
5

私はインデックスmy docsにlucene 4.4を使用しています。今はIndexReaderですべての用語を取得したいと思います。古いバージョンで私は使用しました:luceneによって作成されたインデックスディレクトリのすべての用語を取得する方法4.4.0

IndexReader reader = new IndexReader.open(pathIndexDirectory); 
TermEnum listTerm = reader.terms(); 

しかし、私はそれをすることができません。 ここで何ができますか?それをチェック@ThiepLV

IndexReader reader = IndexReader.open(ramdir) 
Fields fields = MultiFields.getFields(reader); 
     for (String field : fields) { 
      Terms terms = fields.terms(field); 
      TermsEnum termsEnum = terms.iterator(null); 
      int count = 0; 
      while (termsEnum.next() != null) { 
       count++; 
      } 
      System.out.println(count); 
     } 
+1

と私はまた、それを必要とする:)) – ThiepLV

答えて

8

は、だから私はこの方法を使用していますD
+0

: – Thangnv

+0

をあなたはまた、用語の総量を取得するためにterms.sizeを()を使用することができますwhileループを実行する必要はありません。 – airin

+1

これは共通用語を数回カウントしませんか? – raven

関連する問題