从颜色到品牌进行下钻分析,每种颜色的平均价格,以及找到每种颜色每个品牌的平均价格
    我们可以进行多层次的下钻
    比如说,现在红色的电视有4台,同时这4台电视中,有3台是属于长虹的,1台是属于小米的
    红色电视中的3台长虹的平均价格是多少?
    红色电视中的1台小米的平均价格是多少?
    下钻的意思是,已经分了一个组了,比如说颜色的分组,然后还要继续对这个分组内的数据,再分组,比如一个颜色内,还可以分成多个不同的品牌的组,最后对每个最小粒度的分组执行聚合分析操作,这就叫做下钻分析
    es,下钻分析,就要对bucket进行多层嵌套,多次分组
    按照多个维度(颜色+品牌)多层下钻分析,而且学会了每个下钻维度(颜色,颜色+品牌),都可以对每个维度分别执行一次metric聚合操作

    1. GET /tvs/_search
    2. {
    3. "size": 0,
    4. "aggs": {
    5. "group_by_color": {
    6. "terms": {
    7. "field": "color"
    8. },
    9. "aggs": {
    10. "color_avg_price": {
    11. "avg": {
    12. "field": "price"
    13. }
    14. },
    15. "group_by_brand": {
    16. "terms": {
    17. "field": "brand"
    18. },
    19. "aggs": {
    20. "brand_avg_price": {
    21. "avg": {
    22. "field": "price"
    23. }
    24. }
    25. }
    26. }
    27. }
    28. }
    29. }
    30. }
    {
      "took": 8,
      "timed_out": false,
      "_shards": {
        "total": 5,
        "successful": 5,
        "failed": 0
      },
      "hits": {
        "total": 8,
        "max_score": 0,
        "hits": []
      },
      "aggregations": {
        "group_by_color": {
          "doc_count_error_upper_bound": 0,
          "sum_other_doc_count": 0,
          "buckets": [
            {
              "key": "红色",
              "doc_count": 4,
              "color_avg_price": {
                "value": 3250
              },
              "group_by_brand": {
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 0,
                "buckets": [
                  {
                    "key": "长虹",
                    "doc_count": 3,
                    "brand_avg_price": {
                      "value": 1666.6666666666667
                    }
                  },
                  {
                    "key": "三星",
                    "doc_count": 1,
                    "brand_avg_price": {
                      "value": 8000
                    }
                  }
                ]
              }
            },
            {
              "key": "绿色",
              "doc_count": 2,
              "color_avg_price": {
                "value": 2100
              },
              "group_by_brand": {
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 0,
                "buckets": [
                  {
                    "key": "TCL",
                    "doc_count": 1,
                    "brand_avg_price": {
                      "value": 1200
                    }
                  },
                  {
                    "key": "小米",
                    "doc_count": 1,
                    "brand_avg_price": {
                      "value": 3000
                    }
                  }
                ]
              }
            },
            {
              "key": "蓝色",
              "doc_count": 2,
              "color_avg_price": {
                "value": 2000
              },
              "group_by_brand": {
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 0,
                "buckets": [
                  {
                    "key": "TCL",
                    "doc_count": 1,
                    "brand_avg_price": {
                      "value": 1500
                    }
                  },
                  {
                    "key": "小米",
                    "doc_count": 1,
                    "brand_avg_price": {
                      "value": 2500
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    }