Получить общую частоту терминов из Elasticsearch Java API
Я пишу плагин Elasticsearch, и в этом плагине мне нужно получить количество частот термин из указанного в определенном поле. В данный момент я использую запрос ниже и читаю количество попаданий из результата:
SearchResponse searchResponse = nodeClient
.prepareSearch(INDEX_NAME)
.setQuery(QueryBuilders.termQuery(TERM_FIELD, term))
.get();
Тем не менее, это должно быть сделано несколько раз (10-20 раз) и кажется медленным. Есть ли способ использовать Elasticsearch Java API и читать данные из инвертированных индексов напрямую?
В Lucene я использовал функцию под названием totalTermFreq()
, который считывает общее количество вхождений термина во все документы напрямую из инвертированных индексов. Документацию Lucene о функции можно найти здесь