Elasticsearch7.8.0版本入门——JavaAPI操作(分组统计文档)
Posted 小志的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch7.8.0版本入门——JavaAPI操作(分组统计文档)相关的知识,希望对你有一定的参考价值。
目录
一、pom文件依赖
-
引入相关依赖
<!-- elasticsearch 依赖 --> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.8.0</version> </dependency> <!-- elasticsearch 的客户端 --> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.8.0</version> </dependency> <!-- elasticsearch 依赖 2.x 的 log4j --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.8.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.9</version> </dependency> <!-- junit 单元测试 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
二、首先,批量创建文档(添加假数据,方便查询操作)
三、分组统计文档的代码示例
-
分组统计文档代码示例
package com.xz.esdemo.day7; import org.apache.http.HttpHost; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.aggregations.AggregationBuilders; import org.elasticsearch.search.builder.SearchSourceBuilder; /** * @description: 分组统计文档 * @author: xz */ public class EsDocGroupbyQuery public static void main(String[] args) throws Exception // 创建 es 客户端对象 RestHighLevelClient client = new RestHighLevelClient( RestClient.builder(new HttpHost("localhost", 9200, "http")) ); // 创建搜索请求对象 SearchRequest request = new SearchRequest(); request.indices("user"); // 构建查询的请求体 SearchSourceBuilder sourceBuilder = new SearchSourceBuilder(); sourceBuilder.aggregation(AggregationBuilders.terms("age_groupby").field("age")); //设置请求体 request.source(sourceBuilder); // 客户端发送请求,获取响应对象 SearchResponse response = client.search(request, RequestOptions.DEFAULT); SearchHits hits = response.getHits(); System.out.println(response); // 关闭 es 客户端连接 client.close();
-
执行代码,查看控制台信息,如下图表示分组统计文档成功。
以上是关于Elasticsearch7.8.0版本入门——JavaAPI操作(分组统计文档)的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch7.8.0版本入门—— Elasticsearch7.8.0映射操作
Elasticsearch7.8.0版本入门—— Elasticsearch7.8.0映射操作
Elasticsearch7.8.0版本入门——单机部署(linux环境-centos7)
Elasticsearch7.8.0版本入门——集群部署(linux环境-centos7)
Elasticsearch入门——Elasticsearch7.8.0版本和Kibana7.8.0版本的下载安装(win10环境)
Elasticsearch入门——Elasticsearch7.8.0版本和Kibana7.8.0版本的下载安装(win10环境)