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 EsDocFilterQuery 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()); //查询字段过滤 String[] excludes = "sex"; String[] includes = "name", "age"; //includes 表示包含 excludes 表示排除 sourceBuilder.fetchSource(includes, excludes); request.source(sourceBuilder); SearchResponse response = client.search(request, RequestOptions.DEFAULT); SearchHits hits = response.getHits(); for (SearchHit hit : hits) //输出每条查询的结果信息 System.out.println(hit.getSourceAsString()); // 关闭 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环境)