Сгладить ответ Elasticsearch

Я пытаюсь получить некоторые документы из Elasticsearch с помощью нового API-интерфейса Java-клиента, но не могу понять, как извлечь вложенные поля, чтобы структура была плоской и ее можно было легко найти после извлечения.

На данный момент ответ параметризован и выглядит так:

      SearchResponse<Model> model = client.search(request, Model.class);

Модель:

      public class Model  {

private String id;

private NestedClass nestedClass;

public static class NestedClass {
    private String field1;
    private String field2;
}

}

Я использую этот клиент:

              <groupId>co.elastic.clients</groupId>
        <artifactId>elasticsearch-java</artifactId>
        <version>7.17.0</version>

Я могу заполнить все поля, но хочу, чтобы ответ был примерно таким:

      { 
    id,
    nestedClass.field1,
    nestedClass.field2,
    ...
}

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

0 ответов

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