admin管理员组

文章数量:1794759

java对es做聚合查询

java对es做聚合查询

1、max 最大值

//max 求最大值

@Test

public void test30() throws UnknownHostException{

//1、指定es集群 cluster.name 是固定的key值,my-application是ES集群的名称

Settings settings = Settings.builder().put("cluster.name", "my-application").build();

//2.创建访问ES服务器的客户端

TransportClient client = new PreBuiltTransportClient(settings)

.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.94"), 9300));

//aggMax为最大值的别名 ,age是要求最大值的列

AggregationBuilder builder = AggregationBuilders.max("aggMax").field("age");

SearchResponse response = client.prepareSearch("lib3").addAggregation(builder).get();

Max max = response.getAggregations().get("aggMax");

//打印最大值

System.out.println(max.getValue());

}

2、min:最小值

//min 求最小值

@Test

public void test31() throws UnknownHostException{

//1、指定es集群 cluster.name 是固定的key值,my-application是ES集群的名称

Settings settings = Settings.builder().put("cluster.name", "my-application").build();

//2.创建访问ES服务器的客户端

TransportClient client = new PreBuiltTransportClient(settings)

.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.94"), 9300));

//aggMin为最小值的别名 ,age是要求最小值的列

AggregationBuilder builder = AggregationBuilders.min("aggMin").field("age");

SearchResponse response = client.prepareSearch("lib3").addAggregation(builder).get();

Min min = response.getAggregations().get("aggMin");

//打印最小值

System.out.println(min.getValue());

}

3、avg:平均值

//avg 求平均值

@Test

public void test32() throws UnknownHostException{

//1、指定es集群 cluster.name 是固定的key值,my-application是ES集群的名称

Settings settings = Settings.builder().put("cluster.name", "my-application").build();

//2.创建访问ES服务器的客户端

TransportClient client = new PreBuiltTransportClient(settings)

.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.94"), 9300));

//aggavg为平均值的别名 ,age是要求最大值的列

AggregationBuilder builder = AggregationBuilders.avg("aggavg").field("age");

SearchResponse response = client.prepareSearch("lib3").addAggregation(builder).get();

Avg avg = response.getAggregations().get("aggavg");

//打印平均值

System.out.println(avg.getValue());

}

4、sum:求和

//sum 求和

@Test

public void test33() throws UnknownHostException{

//1、指定es集群 cluster.name 是固定的key值,my-application是ES集群的名称

Settings settings = Settings.builder().put("cluster.name", "my-application").build();

//2.创建访问ES服务器的客户端

TransportClient client = new PreBuiltTransportClient(settings)

.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.94"), 9300));

//aggSum为总和的别名 ,age是要求总和的列

AggregationBuilder builder = AggregationBuilders.max("aggSum").field("age");

SearchResponse response = client.prepareSearch("lib3").addAggregation(builder).get();

Sum sum = response.getAggregations().get("aggSum");

//打印总和

System.out.println(sum.getValue());

}

5、cardinality:求基数

说明:基数就是互不相同的个数,具体看代码及注释

//cardinality基数(互不相同的个数)

@Test

public void test34() throws UnknownHostException{

//1、指定es集群 cluster.name 是固定的key值,my-application是ES集群的名称

Settings settings = Settings.builder().put("cluster.name", "my-application").build();

//2.创建访问ES服务器的客户端

TransportClient client = new PreBuiltTransportClient(settings)

.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.94"), 9300));

//Cardinality基数查询: 查询age字段中互不相同的个数

AggregationBuilder builder = AggregationBuilders.cardinality("aggCardinality").field("age");

SearchResponse response = client.prepareSearch("lib3").addAggregation(builder).get();

Cardinality cardinality = response.getAggregations().get("aggCardinality");

//打印基数

System.out.println(cardinality.getValue());

}

下一篇博客本人将书写java操作elasticsearch实现query String。对后期博客感兴趣的朋友可以关注交流,转发请说明出处,本人的博客地址为:wwwblogs/chenyuanbo/

技术在于交流!

java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询

1.前缀查询(prefix) //prefix前缀查询 @Test public void test15() throws UnknownHostException { //1.指定es集群 clus ...

java操作elasticsearch实现条件查询(match、multiMatch、term、terms、reange)

1.条件match query查询 //条件查询match query @Test public void test10() throws UnknownHostException { //1.指定e ...

java操作elasticsearch实现组合桶聚合

1.terms分组查询 //分组聚合 @Test public void test40() throws UnknownHostException{ //1.指定es集群 cluster.name 是 ...

java操作elasticsearch实现查询删除和查询所有

后期博客本人都只给出代码,具体的说明在代码中也有注释. 1.查询删除 //查询删除:将查询到的数据进行删除 @Test public void test8() throws UnknownHostEx ...

java操作elasticsearch实现query String

1.CommonTersQuery: 指定字段进行模糊查询 //commonTermsQuery @Test public void test35() throws UnknownHostExcept ...

Elasticsearch系列---聚合查询原理

概要 本篇主要介绍聚合查询的内部原理,正排索引是如何建立的和优化的,fielddata的使用,最后简单介绍了聚合分析时如何选用深度优先和广度优先. 正排索引 聚合查询的内部原理是什么,Elastich ...

java操作elasticsearch实现批量添加数据(bulk)

java操作elasticsearch实现批量添加主要使用了bulk 代码如下: //bulk批量操作(批量添加) @Test public void test7() throws IOExcepti ...

java操作elasticsearch实现基本的增删改查操作

一.在进行java操作elasticsearch之前,请确认好集群的名称及对应的ES节点ip和端口 1.查看ES的集群名称 #进入elasticsearch.yml配置文件/opt/elasticse ...

Elasticsearch(9) --- 聚合查询(Bucket聚合)

Elasticsearch(9) --- 聚合查询(Bucket聚合) 上一篇讲了Elasticsearch聚合查询中的Metric聚合:Elasticsearch(8) --- 聚合查询(Metri ...

随机推荐

Java-异常处理练习

1.建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理. package Yichang; public class Te ...

centos7+nginx 1.9.0+php-fpm+phpstorm+xdebug+vmware开发环境搭建

1.php-fpm yum install php-fpm 默认配置在本地9000端口监听 service php-fpm restart启动 2.nginx 1.9.0 需先安装gcc zlib o ...

Objective C中nil/Nil/NULL的区别

nil:指向oc中对象的空指针 Nil:指向oc中类的空指针 NULL:指向其他类型的空指针,如一个c类型的内存指针 NSNull:在集合对象中,表示空值的对象 若obj为nil:[obj messa ...

利用 Composer 完善自己的 PHP 框架(一)——视图装载

本教程示例代码见 github/johnlui/My-First-Framework-based-on-Composer 回顾 经过了上一个 系列教程  

HDU 5617 Jam's maze 巧妙DP

题意:给你一个字符矩阵,从(1,1)到(n,n)有很多种走法,每一种走法形成一个字符串,问有多少种走法形成的字符串是回文的 分析:(粘贴BC题解) 的是回文串,有人会想到后缀数组自动机马拉车什么的,其 ...

mac 布置 git仓库服务器

创建管理员账户 例如:git 使用git账户登录 开启git账户的远程登陆 创建仓库文件夹 sudo git --bare init 更改配置文件 cd /Users/userName/project ...

SpringMVC+Mybatis(SMM)+mybatis-generate

java搭建 SpringMVC+Mybatis(SMM)+mybatis-generate 搭建SSM系统,首先要了解整个过程: 1.创建spring-mvc项目 2.在maven中添加要引用的ja ...

sequelize 中文文档

demopark.github.io/sequelize-docs-Zh-CN/

03-Windows Server 2016 IIS的安装与配置

1. 打开服务器管理器,点击[添加角色和功能选项].        2. 进入“添加角色和功能向导”页面,点击下一步. 3. 安装类型选择[基于角色或基于功能的安装],点击下一步. 4. 进入服务器选 ...

FBX SDK在vs 2010下面的配置

1.下载FBS SDK.地址.因为我是vs2010,所以我下载的是FBX SDK 2016.1.2 VS2010.如果没有了,你可以找博主直接要,QQ1240957820. 2.下载下来的是一个exe ...

本文标签: javaES