进阶-第40__深入聚合数据分析_global bucket:单个品牌与所有品牌销量对比

 

aggregation,scope,一个聚合操作,必须在query的搜索结果范围内执行

global 定义

global:就是global bucket,就是将所有数据纳入聚合的scope,而不管之前的query

搜索测试

GET /tvs/sales/_search

{

  "size": 0,

  "query": {

    "term": {

      "brand": {

        "value": "小米"

      }

    }

  },

  "aggs": {

    "single_brand_avg_price": {

      "avg": {

        "field": "price"

      }

    },

    "all": {

      "global": {},

      "aggs": {

        "all_brand_avg_price": {

          "avg": {

            "field": "price"

          }

        }

      }

    }

  }

}

 

搜索结果

{

  "took": 4,

  "timed_out": false,

  "_shards": {

    "total": 5,

    "successful": 5,

    "failed": 0

  },

  "hits": {

    "total": 3,

    "max_score": 0,

    "hits": []

  },

  "aggregations": {

    "all": {

      "doc_count": 8,

      "all_brand_avg_price": {

        "value": 2650

      }

    },

    "single_brand_avg_price": {

      "value": 1666.6666666666667

    }

  }

}

 

 

出来两个结果,一个结果,是基于query搜索结果来聚合的; 一个结果,是对所有数据执行聚合的

 

global:就是global bucket,就是将所有数据纳入聚合的scope,而不管之前的query

 

single_brand_avg_price:就是针对query搜索结果,执行的,拿到的,就是长虹品牌的平均价格

all.all_brand_avg_price:拿到所有品牌的平均价格

猜你喜欢

转载自blog.csdn.net/qq_35524586/article/details/88565374
今日推荐