2017-01-31 1 views

Antwort

1

, dass der Code ist, die 6,4 für Lucene funktioniert. Es findet den häufigsten Begriff für alle Felder, um den am häufigsten verwendeten Begriff im Feld Einstellungscode zu finden.

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

     long maxFreq = Long.MIN_VALUE; 
     String freqTerm = ""; 
     while(iterator.hasNext()) { 
      final String field = iterator.next(); 
      final Terms terms = MultiFields.getTerms(reader, field); 
      final TermsEnum it = terms.iterator(); 
      BytesRef term = it.next(); 
      while (term != null) { 
       final long freq = it.totalTermFreq(); 
       if (freq > maxFreq) { 
        maxFreq = freq; 
        freqTerm = term.utf8ToString(); 
       } 
       term = it.next(); 
      } 
     } 

     System.out.println(freqTerm + " " + maxFreq); 
+0

Danke @Mysterion, das ist was ich genau will. –

Verwandte Themen