Elasticsearch: Доступ ко всем терминам в TermVectorResponse в плагине

Я пытаюсь получить список терминов из termvectorresponse в плагине эластичного поиска. Я хочу получить доступ ко всей статистике, которая связана с условиями, и мне сложно понять, как это сделать.

После создания запроса TermVectors...

TermVectorsRequest tvReq = new TermVectorsRequest(request.param("index"), request.param("type"), request.param("id"));
tvReq.termStatistics(true);
tvReq.selectedFields(request.param("field"));

и получить ответ от клиента...

TermVectorsResponse tvResponse = client.termVectors(tvReq).get();

Я могу получить доступ к идентификатору, индексу и т. Д. В полях я получаю "содержимое", которое является именем поля, которое я хочу. Оттуда, хотя, похоже, я могу бежать...

tvResponse.getFields().terms("some term here")

в котором объект Условия, который возвращается, имеет доступ к статистике, которую я хочу.

У меня есть несколько проблем с этим, хотя. Во-первых, только "содержимое", по-видимому, не равно нулю. В конечной точке термина векторов в упругости я получаю несколько разных терминов, в которые я попытался вставить здесь. Во-вторых, я хочу получить список терминов, а не вводить какой термин я хочу.

Как я могу сделать это?

Спасибо

1 ответ

Догадаться. Theres интегратор на условиях, которые вы можете использовать. на.terms вы должны передать это поле и получить объект условий. Из этого вы можете использовать.iterator, чтобы получить каждый отдельный термин и делать с ними все, что вы хотите.

Другие вопросы по тегам