首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >白话Elasticsearch40-深入聚合数据分析之案例实战_Global Aggregation:单个品牌与所有品牌平均价格对比

白话Elasticsearch40-深入聚合数据分析之案例实战_Global Aggregation:单个品牌与所有品牌平均价格对比

作者头像
小小工匠
发布2021-08-17 15:00:01
发布2021-08-17 15:00:01
4110
举报
文章被收录于专栏:小工匠聊架构小工匠聊架构


概述

继续跟中华石杉老师学习ES,第40篇

课程地址: https://www.roncoo.com/view/55


Global Aggregation

官方说明 : 戳这里


案例

需求: 统计单个品牌与所有品牌平均价格对比 原始数据:

代码语言:javascript
复制
GET /tvs/sales/_search
{
  "query": {
    "term": {
      "brand":  "长虹"
    }
  },
  "aggs": {
    "single_brand_avg_price": {
      "avg": {
        "field": "price"
      }
    },
    "all": {
      "global": {},
      "aggs": {
        "all_brand_avg_price": {
          "avg": {
            "field": "price"
          }
        }
      }
    }
  },
  "size": 0
}

global:就是global bucket,即将所有数据纳入聚合的scope,而不管之前的query查询出来的数据。

返回:

代码语言:javascript
复制
{
  "took": 1,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "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搜索结果来聚合的; 一个结果是对所有数据执行聚合后的

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • Global Aggregation
  • 案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档