【发布时间】:2020-11-06 12:42:22
【问题描述】:
可以像这样包含子聚合metadata:
GET kibana_sample_data_flights/_search
{
"size": 0,
"query": ...,
"aggs": {
"by_delay": {
"terms": {
"field": "FlightDelay"
},
"meta": { <---
"key": "val"
}
},
"by_cancelled": {
"terms": {
"field": "Cancelled"
},
"meta": { <---
"key": "val"
}
}
}
}
现在,有几十个这样的子聚合和一些共享元数据。虽然它只适用于 aggs,但我不介意将它放在 query 部分的某个位置。那么是否有针对每个搜索主体的元数据字段?
我想我可以将所有这些子聚合包装在 match_all 过滤器组中:
{
"size": 0,
"query": ...,
"aggs": {
"meta_parent": {
"filter": {
"match_all": {}
},
"meta": {
"shared": "meta"
},
"aggs": {
"by_delay": ...,
"by_cancelled": ...
}
}
}
}
有没有更好的办法?
【问题讨论】:
标签: elasticsearch elasticsearch-aggregation elasticsearch-query