2016-03-16 3 views
1

Как я могу получить все условия с их частотами для определенного поля во всех документах? Я нашел решение, как получить эту информацию для указанного документа с помощью termvector, но как это сделать для всех документов?ElasticSearch получает все условия от поля во всех документах

ответ

1

В Lucene 4.0, вы можете получить доступ условия для поля с помощью MultiFields

IndexReader indexReader = IndexReader.open(index); 
    Terms terms = MultiFields.getFields(indexReader).terms("field"); 
    if(terms != null){ 
     TermsEnum iterator = terms.iterator(); 
     BytesRef byteRef = null; 
     while((byteRef = iterator.next()) != null) { 
     String term = byteRef.utf8ToString(); 
     ... 
     } 
    } 
Смежные вопросы