ElasticSearch-java-client
2025-01-22 08:19:30 515 字
This post is also available in English and alternative languages.
ElasticSearch版本:6.5.0(点击跳转官方文档)
elasticsearch java client 分为两种:
Java Low Level Rest Client(Java 低级客户端)
Java High Level Rest Client (Java 高级客户端)
1. Java Low Level Rest Client(Java 低级客户端)
通过Http协议与Elasticsearch服务进行通信;请求编码和响应解码保留给用户实现;低级客户端与所有Elasticsearch版本兼容。
Java Low Level Rest Client(Java 低级客户端)内部使用 Apache Http Async Client 发送 http 请求。
Apache Http Async Client默认启动一个调度线程,连接管理器使用多个worker线程,线程的数量和CPU核数量相同,线程数可以修改。
低级客户端包含以下功能:
- 最小依赖
- 负载均衡
- 故障转移
- 故障连续策略(是否重新连接故障节点取决于连续失败多少次;失败次数越多,在再次尝试同一个节点之前,客户端等待的时间越长)
- 持久化连接
- 跟踪记录请求和响应
- 自动发现集群节点
2. Java High Level Rest Client (Java 高级客户端)
高级客户端 基于 低级客户端,提供特定的方法的API;
其主要目标是公开特定方法的API,接受请求对象作为参数并返回响应对象,以便客户端自己处理请求编组和响应解组。
每个API可以同步或异步地调用。
同步方法返回一个响应对象,而名称以 async 后缀结尾的异步方法需要收到响应或错误后才会通知(在低级别客户端管理的线程池上)的侦听器参数。
3. 实例Demo
1 | public RestHighClient() { |