SQL for ES
之前介绍过ElasticSearch,它部署简单,搜索聚合功能强大,而且和其他大数据框架整合起来使用,有一点比较不方便,就是查询都需要通过JSON作为请求Body来提交查询,请求响应也是JSON,作为习惯使用SQL的我,迫不及待的试用了一下Crate(crate.io),它是在ElasticSearch之上封装了SQL接口,用户可以通过SQL语句来完成搜索和统计,支持的SQL语法还蛮多的,很想MySQL。
elasticsearch聚合案例--分组、求最大值再求最大值的均值
一、需求
A、B、C代表3个用户,第二列代表各自的得分,求A、B、C的最好成绩以及A、B、C最好成绩的均值
A 10
A 11
A 13
B 11
B 11
B 12
C 10
C 10
C 11
C 15
二、思路
先terms分组,求最大值,最后加一个pipeline均值。