四十九、Elasticsearch聚合分析--cardinality去重复

1、需求:

每月销售品牌数量统计

2、SQL实现

SELECT COUNT(DISTINCT brand) FROM tvs GROUP BY 月函数(sold_date)

3、ES实现

GET /tvs/sales/_search
{

  "aggs": {
    "months": {
      "date_histogram": {
        "field": "sold_date",
        "interval": "month"
      },
      "aggs": {
        "distinct_brand": {
          "cardinality": {
            "field": "brand"
          }
        }
      }
    }
  }
}

cartinality metric对每个bucket中的指定的field进行去重,取去重后的count,就是count(distinct)

若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


四十九、Elasticsearch聚合分析--cardinality去重复_第1张图片
qrcode_for_gh_577b64e73701_258.jpg

你可能感兴趣的:(四十九、Elasticsearch聚合分析--cardinality去重复)