Elasticsearch Java API 配置测试
Elasticsearch1.X,2.X,5.X随着版本的迭代,除了系统升级,Java API也做了相对较大的调整,也就是说,1.X的API在2.X以及5.X乃至未来6.X版本都不是通用的。
本例子使用的版本是5.6.5
一. 首先添加maven依赖
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.6.5</version> </dependency>
二。连接方式
Settings settings = Settings.builder().put("cluster.name", "my-application").build(); //设置集群名称 TransportClient client = new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("10.10.10.5"), 9300));
输客户端自带一个集群嗅探特性,可以动态地添加新主机并删除旧主机,当启用这个特性时,传输客户端将连接到其内部节点列表中的节点
嗅探器开启方式:
Settings settings = Settings.builder() .put("client.transport.sniff", true).build();
TransportClient client = new PreBuiltTransportClient(settings);
其他transport client的设置包括:
client.transport.ignore_cluster_name :设置为true 可以忽略节点连接时对集群名字的校验
client.transport.ping_timeout :设置一个节点在得到response时的等待时间,默认5秒
client.transport.nodes_sampler_interval:多久进行获取/ping 列出的节点并且连接,默认5秒
三。查看集群信息
List<DiscoveryNode> nodes = client.connectedNodes(); for (DiscoveryNode node : nodes) { System.out.println(node.getHostAddress()); System.out.println(node.getName()); System.out.println(node.getVersion()); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端