当前位置: 首页 > news >正文

ElasticsearchClient入门指南

在本教程中,我们将探讨如何使用Elasticsearch的官方Java客户端 - ElasticsearchClient。这个强大的工具允许您的Java应用程序与Elasticsearch集群进行交互,执行各种操作,如索引文档、执行搜索查询等。

前提条件

在开始之前,确保您的项目中已经包含了必要的依赖。您可以通过Maven添加以下依赖:

<dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.10.0</version>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.3</version>
</dependency>

创建ElasticsearchClient

首先,我们需要创建一个ElasticsearchClient实例。这涉及几个步骤:

  1. 创建一个RestClient实例
  2. 使用RestClient创建一个ElasticsearchTransport实例
  3. 使用transport创建ElasticsearchClient实例

以下是代码示例:

import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;// 创建低级客户端
RestClient restClient = RestClient.builder(new HttpHost("localhost", 9200)).build();// 创建传输层
ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());// 创建API客户端
ElasticsearchClient client = new ElasticsearchClient(transport);

执行搜索查询

现在我们有了ElasticsearchClient实例,让我们执行一个简单的搜索查询:

import co.elastic.clients.elasticsearch._types.query_dsl.MatchQuery;
import co.elastic.clients.elasticsearch.core.SearchResponse;try {// 执行搜索请求SearchResponse<Object> response = client.search(s -> s.index("my-index").query(q -> q.match(new MatchQuery.Builder().field("title").query("elasticsearch").build())),Object.class);// 处理响应long totalHits = response.hits().total().value();System.out.println("Total hits: " + totalHits);// 遍历搜索结果response.hits().hits().forEach(hit -> {System.out.println("Found document: " + hit.source());});} catch (IOException e) {e.printStackTrace();
}

这个例子展示了如何:

  1. 构建一个match查询,搜索标题字段中包含"elasticsearch"的文档
  2. 执行搜索请求
  3. 获取总命中数
  4. 遍历并打印搜索结果

关闭客户端

最后,当您完成所有操作后,别忘了关闭客户端:

try {restClient.close();
} catch (IOException e) {e.printStackTrace();
}

结论

本教程介绍了ElasticsearchClient的基本用法。我们学习了如何创建客户端、执行搜索查询和处理结果。ElasticsearchClient提供了丰富的API,允许您执行各种复杂的操作。随着您对Elasticsearch的深入了解,您将能够利用这个客户端执行更高级的查询和操作。

记住,这只是一个起点。Elasticsearch提供了大量的功能,包括聚合、地理空间查询、文档更新等。继续探索官方文档,以充分利用Elasticsearch的强大功能!

http://www.lryc.cn/news/458333.html

相关文章:

  • 软考中级笔记
  • 学习python自动化——pytest单元测试框架
  • 定位、地图建立及管理合集
  • uniAPP是否可以做php语言书写后端的前端开发?
  • 柒拾伍- AI内容农场生产文章自动发布至公众号 (一)
  • java.util.function Function<T, R>
  • Allegro在PCB上开槽的三种方法操作指导
  • Docker:快速部署
  • 如何指定this的值
  • 自动化分析背后,一站式数据分析平台!
  • 掌握 WPF 开发:基础、数据绑定与自定义控件
  • PostgreSQL:生成-唯一主键id
  • Swift添加自定义字体
  • Springboot 整合 Java DL4J 实现企业门禁人脸识别系统
  • SSTI模板注入+CTF实例
  • iPhone 16 Pro 拆解揭秘:设计改进与维修便利性
  • Java项目实战II养老||基于Java+Spring Boot+MySQL的社区智慧养老监护管理平台设计与实现(源码+数据库+文档)
  • 利用FnOS搭建虚拟云桌面,并搭建前端开发环境(二)
  • 【Python】Qwen-VL-7B box
  • echarts按需引入解决项目大小问题
  • 天气预报echarts
  • Kafka-初识
  • Redis的主要的特性和优势 ?
  • yolov5-7.0模型DNN加载函数及参数详解(重要)
  • StringEntity 用于将字符串内容作为 HTTP 请求实体(请求体)
  • 校园系统校园小程序 论坛校园圈系统失物招领、闲置二手、跑腿外卖等校园圈子系统应该具备有哪些功能
  • [AWS云]kafka调用和创建
  • 查看 Excel 应用程序中已打开的 Excel 文件的完整路径
  • 学习 RocketMQ 单机部署、消息发送、消息接收
  • 【计算机网络】CDN