Это результат вложенного запроса агрегации ES. Мне нужно разобрать этот ответ и преобразовать его в новый формат JSON. Из следующего JSON меня интересуют только те значения key_as_a_string и значение яблок и апельсинов для каждого ключа.Анализ ответа на вложенный ответ агрегации
"aggregations": {
"Inner_aggregation": {
"doc_count": 366,
"Hours_aggregation": {
"doc_count": 366,
"by_day": {
"buckets": [
{
"key_as_string": "2016-01-11",
"key": 1452556800000,
"doc_count": 1,
"Apples": {
"value": 5
},
"Oranges": {
"value": 3
}
},
{
"key_as_string": "2016-01-12",
"key": 1452556800000,
"doc_count": 1,
"Apples": {
"value": 43
},
"Oranges": {
"value": 2
}
},
.........,
.........
]
}
}
}
}
}
Я могу разобрать его с помощью Джексона ObjectMapper или с помощью sr.getAggregations(). Получить метод («histogram_name»), а затем итерация над коллекциями. Хотел узнать, есть ли там легкий путь.
формат JSON Обязательный
{
"Results": [{
"key_as_string": "2016-01-11",
"Apple_to_Orange_Ratio": 0.112
}, {
"key_as_string": "2016-01-12",
"Apple_to_Orange_Ratio": 0.12
}]
}
Ratio будет найден простым делением яблочного и апельсинового графа.
Нет, это отклик интерфейса интерфейса, исходящий от кластера, вы не можете изменить формат ответа. Это весь смысл отдыха. Для перевода данных вам может понадобиться переводчик между вашим кластером и клиентом. – user3775217