[英]Aggregate by two or more fields in elasticsearch
我有許多帶有各種ProcessName
文檔。 每個都有一些名為Code
狀態代碼。
我需要按這兩個字段匯總文檔。
例如:
ProcessA
code: 1
count: 220
ProcessA
code: 2
count: 335
ProcessB
code: 2
count: 520
ProcessC
code: 3
count: 520
我設法只按一個字段( ProcessName
)進行匯總:
POST /_search
{
"query": {
"bool": {
"must": [
{
"term": {
"_type": "monitor"
}
}
]
}
},
"aggs" : {
"ProcessNameAgg" : {
"terms" : { "field" : "ProcessName",
"size" : 5,
"order" : { "_count" : "desc" }
}
}
}
}
我試圖使terms
成為具有兩個字段的數組,但是不幸的是,我正在解析異常(terms應該只有一個字段)。
嘗試這個:
POST /_search
{
"query": {
"bool": {
"must": [
{
"term": {
"_type": "monitor"
}
}
]
}
},
"aggs": {
"ProcessNameAgg": {
"terms": {
"field": "ProcessName",
"size": 5,
"order": {
"_count": "desc"
}
},
"aggs": {
"codes": {
"terms": {
"field": "code",
"size": 10
}
}
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.