У меня есть следующий запрос, который отлично работает здесь:
{
"aggs":{
"category_terms":{
"terms":{
"field":"Category"
},
"aggs":{
"style_per_category":{
"terms":{
"field":"Style"
}
}
}
}
}
}
Я пытаюсь преобразовать его в Elasticsearch DSL Python, но получаю параллельные агрегаты, а не составные:
a_cat = A('terms', field='Category')
a_style = A('terms', field='Style')
s.aggs.bucket('category_terms', a_cat)
s.aggs.bucket('style_per_category', a_style)
response = s.execute()
То, что я ищу в качестве вывода, выглядит примерно так:
"aggregations": {
"category_terms": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 2727399,
"buckets": [
{
"key": "Tops",
"doc_count": 3131952,
"style_per_category": {
"doc_count_error_upper_bound": 14,
"sum_other_doc_count": 129758,
"buckets": [
{
"key": "T-Shirts",
"doc_count": 940725
},
...