四十九、Elasticsearch聚合分析--cardinali
2017-07-20 本文已影响234人
编程界的小学生
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码农社区】,会定时推送各种干货:
qrcode_for_gh_577b64e73701_258.jpg