Java 客户端
Elasticsearch 提供官方 Java 客户端,方便 Java 应用程序与 Elasticsearch 集群进行交互,实现索引管理、文档操作和查询功能。
1. 客户端类型
- Rest High Level Client(HLRC):基于 REST 的高级客户端,提供丰富的 API(已逐步废弃)
- Java API Client:Elasticsearch 8.x 版本推出的新官方客户端,基于 Elasticsearch Java API
2. 引入依赖(Maven 示例)
<dependency>
<groupId>co.elastic.clients</groupId>
<artifactId>elasticsearch-java</artifactId>
<version>8.10.0</version>
</dependency>
`
3. 客户端初始化示例
import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.elasticsearch._types.ElasticsearchException;
import co.elastic.clients.elasticsearch.core.GetResponse;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
public class ElasticsearchExample {
public static void main(String[] args) throws Exception {
RestClient restClient = RestClient.builder(
new HttpHost("localhost", 9200)).build();
RestClientTransport transport = new RestClientTransport(
restClient, new JacksonJsonpMapper());
ElasticsearchClient client = new ElasticsearchClient(transport);
// 示例:获取文档
try {
GetResponse<Object> response = client.get(g -> g
.index("my-index")
.id("1"), Object.class);
if (response.found()) {
System.out.println(response.source());
} else {
System.out.println("Document not found");
}
} catch (ElasticsearchException e) {
e.printStackTrace();
}
restClient.close();
}
}
4. 常用操作
- 创建索引
- 添加、更新、删除文档
- 查询与聚合
- Bulk 批量操作
5. 注意事项
- 注意客户端版本与 Elasticsearch 集群版本兼容性
- 连接池和超时配置需根据业务调整
- 推荐使用官方最新 Java API Client,避免旧版被废弃风险
掌握 Elasticsearch Java 客户端的使用,有助于构建高效稳定的搜索与分析应用。
相关内容
- 定义与用途 本章介绍 Elasticsearch 的定义、核心功能与适用场景,帮助读者理解它为何成为现代搜索与日志分析的首选解决方案。
- 使用场景 本章总结 Elasticsearch 在全文搜索、日志分析、监控告警、推荐系统等领域的典型应用场景,助力理解其强大用途。
- 核心概念简介 本章概览 Elasticsearch 的核心构成,包括索引、文档、映射、节点、集群等关键概念,为后续使用和架构设计打下基础。
- 本地安装 本章介绍如何在本地环境中安装 Elasticsearch,适配 Windows、macOS 和 Linux 系统,便于开发测试与入门学习。
- Docker 安装 本章讲解如何通过 Docker 安装和运行 Elasticsearch,适合开发者快速搭建测试环境并集成至容器化工作流中。
- 与 Kibana 一起部署 本章介绍如何将 Elasticsearch 与 Kibana 一起部署,使用 Docker Compose 快速构建可视化分析平台,适合开发与测试环境使用。