子文档聚合

edit

在父-子文档中支持 子文档聚合,这一点和 嵌套聚合 类似。但是,对于父文档的聚合查询是不支持的(和 reverse_nested 类似)。

我们通过下面的例子来演示按照国家维度查看最受雇员欢迎的业余爱好:

GET /company/branch/_search
{
  "size" : 0,
  "aggs": {
    "country": {
      "terms": { 
        "field": "country"
      },
      "aggs": {
        "employees": {
          "children": { 
            "type": "employee"
          },
          "aggs": {
            "hobby": {
              "terms": { 
                "field": "hobby"
              }
            }
          }
        }
      }
    }
  }
}

countrybranch 文档的一个字段。

子文档聚合查询通过 employee type 的子文档将其父文档聚合在一起。

hobbyemployee 子文档的一个字段。