ElasticSearch中 distinct, count和group by的实现

ElasticSearch中 distinct, count和group by的实现

ElasticSearch中 distinct, count和group by的实现。ElasticSearch最新版高级插件已经完美支持sql的查询。这里备份一下针对老版本或者需要json翻译SQL的方法。主要是针对一些类SQL操作,原文地址:https://www.jianshu.com/p/62bed9cc8349

distinct

总结:使用collapse字段后,查询结果中[hits]中会出现[fields]字段,其中包含了去重后的user_id.

注意:对于collapse字段,折叠功能ES5.3版本之后才发布的,聚合&折叠只能针对keyword类型有效。

count + distinct

总结:aggscardinality的字段代表需要distinct的字段

count + group by

总结:aggsterms的字段代表需要gruop by的字段

count + distinct + group by

count + distinct + group by + where

总结:对于既有group by又有distinct的查询要求,需要在aggs中嵌套子aggs

发表评论

电子邮件地址不会被公开。 必填项已用*标注