簡體   English   中英

在Elasticsearch中由兩個或多個字段聚合

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM