我正在尝试从 Elasticsearch 获取一些数据。我有一个疑问:
GET index/_search
{
"aggs": {
"first-metadata": {
"terms": {
"field": "filters.metadata.first-metadata"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
作为回应,我得到了类似的信息:
"aggregations": {
"first-metadata": {
"buckets": [
{
"key": 87000,
"doc_count": 2
},
{
"key": 100000,
"doc_count": 1
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
一切都如我所料。但问题是我有多种元数据类型: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
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以在一次聚合查询中实现这样的结果吗?
很简单
POST index/_search
{
"aggs": {
"first-metadata": {
"terms": {
"field": "filters.metadata.first-metadata"
}
},
"second-metadata": {
"terms": {
"field": "filters.metadata.second-metadata"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6825 次 |
| 最近记录: |