前言
在前面几篇文章中演示ES安装时对外暴露有两个端口,一个是9200,一个是9300,这里9300是一个TCP端口,ES集群环境下也是通过9300端口通信的,是长连接的形式通信的,这里不推荐使用SpringBoot操作9300端口通信,其原因有两个,
第一个:是由于SpringBoot的版本不同,整合的ES版本也不同,而且最新的SpringBoot也没整合到7.X版本,只整合到6.X.X,那么版本不适配就会倒是语法问题
第二点:是ES 官方在7.X版本就已经不建议使用9300端口了,将在8.X废弃9300端口
所以这里SpringBoot整合ES是采用9200端口操作
这里操作9200http的方式有很多种方式
1.JestClient:不是官方提供的,更新很慢!
2.RestTemplate:模拟发Http请求,ES很多请求方式需要自己封装,比较麻烦
3.HttpClient:这个也是一样的
这里只要是能发http请求那么都是可以操作ES9200端口的
这些方式都需要自己封装,比较麻烦,不是很友好,所以这里使用ES官方提供的Elasticsearch-Rest-Client,他封装好了ES操作,API层次分明,上手简单,而且ES版本更新这个框架可更新!不用担心版本不匹配问题!!!
开始整合
1.进入官网
ES官网地址
我们这里使用高阶的方式,这样更加友好简洁2.创建SpringBoot项目导入依赖
3.编写配置
编写配置类
4.编写测试案例
连接成功
请求设置项设置
现在我们的ES是没有加安全检验的,当加了安全校验后SpringBoot项目向ES服务器发送请求时就需要进行身份验证,那么所有请求到达ES是都要在请求头里加上身份信息
官方文档有介绍
官方建议将RequestOptions做成单实例的,以后的所有对ES的请求都能共享使用这个实例
API调用
1.添加一条数据
这一步启动会有异常,这是由于SpringBoot对ES的版本定义过了,所以这里还需要将parent中的ES版本修改
修改前
报错信息!!!
解决方案
启动查看测试结果
运行成功!!!