Теперь вы можете сделать две вещи здесь: 1. Либо отсортируйте группу агг терминов "top_ext" как c порядок подсчета do c, и вы можете использовать верхние n блоков нулевого размера здесь 2. Вы можете применить агрегация селектора сегментов параллельно с вашими внутренними попаданиями, так что будут отображаться только те внутренние совпадения, которые имеют нулевые значения docCounts.
Вот запрос dsl, который использует оба вышеуказанных подхода. (Вы можете подключить все остальные необходимые элементы запроса, я сосредоточился в основном на части агрегации здесь)
GET kibana_sample_data_ecommerce/_search
{
"size": 0,
"aggs": {
"outer": {
"terms": {
"field": "products.category.keyword",
"size": 10,
"order": {
"_count": "asc"
}
},
"aggs": {
"inner": {
"top_hits": {
"size": 10
}
},
"restrictedBuckets": {
"bucket_selector": {
"buckets_path": {
"docCount": "_count"
},
"script": "params.docCount<1"
}
}
}
}
}
}