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.day4; 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.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; /** * @description: 分页查询文档 * @author: xz */ public class EsDocPageQuery 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.query(QueryBuilders.matchAllQuery()); // 当前页其实索引(第一条数据的顺序号) from sourceBuilder.from(0); // 每页显示多少条 size sourceBuilder.size(2); request.source(sourceBuilder); SearchResponse response = client.search(request, RequestOptions.DEFAULT); SearchHits hits = response.getHits(); System.out.println("耗时====>took:" + response.getTook()); System.out.println("超时时间====>timeout:" + response.isTimedOut()); System.out.println("总数量====>total:" + hits.getTotalHits()); System.out.println("最大分值====>MaxScore:" + hits.getMaxScore()); for (SearchHit hit : hits) //输出每条查询的结果信息 System.out.println(hit.getSourceAsString()); // 关闭 es 客户端连接 client.close();
-
执行代码,查看控制台信息,如下图表示分页查询文档成功。
-
通过postman工具分页查询文档信息,如下图所示:
以上是关于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环境)