由elasticsearch中的两个或多个字段聚合

时间:2016-04-20 07:57:18

标签: elasticsearch

我有很多种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

我试图让{{1}}成为一个包含两个字段的数组,但遗憾的是我正在解析异常(术语应该只有一个字段)。

1 个答案:

答案 0 :(得分:1)

试试这个:

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
          }
        }
      }
    }
  }
}