Сгладить ответ 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, без других изменений? Спасибо