Вывод:
{
"aggs": {
"overall": {
"date_histogram": {
"field": "created",
"calendar_interval": "day",
"time_zone": 3
},
"aggs": {
"series_attribute": {
"terms": {
"field": 2
},
"aggs": {
"types_count": {
"value_count": {
"field": 1
}
}
}
}
}
}
}
}
Вход: агрегирование1 =
{
"types_count": {
"value_count": {
"field": 1
}
}
}
агрегирование2 =
{
"series_attribute": {
"terms": {
"field": 2
}
}
}
aggregation3 =
{
"overall": {
"date_histogram": {
"field": "created",
"calendar_interval": "day",
"time_zone": 3
}
}
}
countResponse,termResponse,dateResponse = {},{},{}
countResponse["aggs"] = aggregation1
termResponse["aggs"] = aggregation2
dateResponse["aggs"] = aggregation3
aggregation2["series_attribute"]["aggs"] = aggregation1
aggregation3["overall"]["aggs"] = termResponse["aggs"]
#print(json.dumps(dateResponse))
Этот код работает, но я не уверен, можно ли изменить код, чтобы он выглядел лучше. Я вложил 3 словаря один в другой, но мне не нравится способ, которым мы получаем доступ ключи и добавление пары ключ-значение.