#elasticsearch #kibana
Вопрос:
У меня есть наблюдатель, который фильтрует данные по 3 полям, я называю их уровнем 1, уровнем и уровнем 3:
"aggs": { "group_by_level_1": { "terms": { "field": "level1.keyword" }, "aggs": { "group_by_level_2": { "terms": { "field": "level2.keyword" }, "aggs": { "group_by_level_3": { "terms": { "field": "level3.keyword" } } } } } } }
Он возвращает следующий результат:
{ "aggregations": { "group_by_level_1": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "doc_count": 70, "group_by_level_2": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "doc_count": 47, "group_by_level_3": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "doc_count": 46, "key": "key_level_3_1" } ] }, "key": "key_level_2_1" }, { "doc_count": 8, "group_by_level_3": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "doc_count": 3, "key": "key_level_3_2" }, { "doc_count": 2, "key": "key_level_3_3" } ] }, "key": "key_level_2_2" }, { "doc_count": 4, "group_by_level_3": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "doc_count": 4, "key": "key_level_3_5" } ] }, "key": "key_level_2_3" } ] }, "key": "key_level_1_1" } ] } } }
Как мне получить значение ключа уровня 1, уровня 2 и 3, удовлетворяющее условию уровень 3 doc_count gt; 10?
Я пытался:
"aggs": { "group_by_level_3": { "terms": { "field": "level3.keyword", "min_doc_count": 10 } } }
But this only helps me to hide the value of level 3, how can i get only bucket level 1, 2 that satisfy the condition level 3 gt; 10:
{ "aggregations": { "group_by_level_1": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "doc_count": 49, "group_by_level_2": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "doc_count": 34, "group_by_level_3": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "doc_count": 33, "key": "key_level_3_1" } ] }, "key": "key_level_2_1" }, { "doc_count": 4, "group_by_level_3": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, **"buckets": []** }, "key": "key_level_2_2" }, { "doc_count": 3, "group_by_level_3": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, **"buckets": []** }, "key": "key_level_2_3" } ] }, "key": "key_level_1_1" } ] } } }