ElasticSearch里面如何分组后根据sum值排序

ElasticSearch里面的聚合机制非常灵活和强大,今天我们来看下如何在ElasticSearch里面实现分组后,根据sum值进行排序?类似的数据库SQL如下:

这是一个比较常见的统计需求,在es也能比较轻松的实现,先看看curl的一个实现例子查询:

然后,我们看下,如何在Java Api里面操作:

首先我们看下造的数据

总共三个字段id,count,code都是int类型的

然后,我们可以将上面的数据插入到es里面,具体的插入代码不在给出,比较简单,直接通过client.prepareIndex方法插入json即可。

下面看下查询代码:

最终的结果如下:

通过对比,我们可以到到结果是准确的,虽然代码量比sql多很多,但是ElasticSearch的聚合功能却是非常的强大和灵活,用来做一些OLAP分析是非常方便的。

原文发布于微信公众号 - 我是攻城师(woshigcs)

原文发表时间:2017-04-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android相关

Octave使用plot错误

1584
来自专栏Ken的杂谈

【CentOS7快速上手】2、Apache Server安装&配置

本地修改hosts文件,把hello.html.com指向该CentOS服务器IP,然后通过该域名访问即可。

1631
来自专栏LIN_ZONE

mac 初次配置apache,及mac下安装mysql

先打开apache,在浏览器上输入    localhost     回车后会如果屏幕上显示:It works!  如下图:

863
来自专栏云计算教程系列

Apache基础教程:软件安装和故障排查

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行。由于其跨平台和...

1992
来自专栏WebDeveloper

ElasticSearch入门

1743
来自专栏西安-晁州

ELK环境搭建完整说明

ELK:ElasticSerach、Logstash、Kibana三款产品名称的首字母集合,用于日志的搜集和搜索。简单地理解为我们可以把服务端的日志(nginx...

7653
来自专栏linux系统运维

Nginx访问日志,Nginx日志切割,静态文件不记录日志和过期时间

1646
来自专栏hbbliyong

windows 下 nginx 配置文件路径

nginx在windowns下路径 http{ #虚拟主机1 server{ listen 80; #监听端口,基于IP配置的时候变更此...

3087
来自专栏Ceph对象存储方案

通过ELK实现Nginx日志字段扩展

在日常访问RGW过程中,一般会在RGW前端架设Nginx,并通过Nginx日志来统计或者分析用户请求,但是默认Nginx日志字段是不含bucket_name的,...

2102
来自专栏bboysoul

nginx开启目录浏览功能(autoindex)

这个博客其实是延迟了很久的一篇博客,暑假的时候做centos镜像站的时候想写的,nginx默认不开启这个功能,开启这个功能之后可以把它当文件浏览器使用

1282

扫码关注云+社区

领取腾讯云代金券