我想从Elasticsearch获取一些统计数据。我有一个查询:
GET index/_search
{
"aggs": {
"first-metadata": {
"terms": {
"field": "filters.metadata.first-metadata"
}
}
}
}
作为响应,我得到了这样的东西:
"aggregations": {
"first-metadata": {
"buckets": [
{
"key": 87000,
"doc_count": 2
},
{
"key": 100000,
"doc_count": 1
}
]
}
}
一切都如我所预期的一样。但问题在于我有多个元数据类型:first-metadata
、second-metadata
和 third-metadata
,我希望像这样:
"aggregations": {
"first-metadata": {
"buckets": [
{
"key": 87000,
"doc_count": 2
},
{
"key": 100000,
"doc_count": 1
}
]
},
"second-metadata": {
"buckets": [
{
"key": 5555,
"doc_count": 24
},
{
"key": 2222,
"doc_count": 14
},
{
"key": 3333,
"doc_count": 7
}
]
},
"third-metadata": {
"buckets": [
{
"key": 7777,
"doc_count": 23
},
{
"key": 3333,
"doc_count": 11
}
]
}
}
有没有办法在一个聚合查询中实现这样的结果?
filters.metadata.*
)或其他方式来完成吗? - Piotr Pradzynski