SpringBoot整合Elasticsearch

前言

在前面几篇文章中演示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官网地址
SpringBoot整合Elasticsearch_第1张图片
SpringBoot整合Elasticsearch_第2张图片
SpringBoot整合Elasticsearch_第3张图片
我们这里使用高阶的方式,这样更加友好简洁

2.创建SpringBoot项目导入依赖
SpringBoot整合Elasticsearch_第4张图片
SpringBoot整合Elasticsearch_第5张图片
SpringBoot整合Elasticsearch_第6张图片
3.编写配置
SpringBoot整合Elasticsearch_第7张图片
SpringBoot整合Elasticsearch_第8张图片
编写配置类
SpringBoot整合Elasticsearch_第9张图片
4.编写测试案例
SpringBoot整合Elasticsearch_第10张图片
连接成功

请求设置项设置

SpringBoot整合Elasticsearch_第11张图片
现在我们的ES是没有加安全检验的,当加了安全校验后SpringBoot项目向ES服务器发送请求时就需要进行身份验证,那么所有请求到达ES是都要在请求头里加上身份信息
官方文档有介绍
SpringBoot整合Elasticsearch_第12张图片
SpringBoot整合Elasticsearch_第13张图片
官方建议将RequestOptions做成单实例的,以后的所有对ES的请求都能共享使用这个实例
SpringBoot整合Elasticsearch_第14张图片

API调用

1.添加一条数据
SpringBoot整合Elasticsearch_第15张图片
这一步启动会有异常,这是由于SpringBoot对ES的版本定义过了,所以这里还需要将parent中的ES版本修改
修改前
SpringBoot整合Elasticsearch_第16张图片
报错信息!!!
SpringBoot整合Elasticsearch_第17张图片
解决方案

<elasticsearch.version>7.4.2</elasticsearch.version>

SpringBoot整合Elasticsearch_第18张图片
启动查看测试结果
SpringBoot整合Elasticsearch_第19张图片
运行成功!!!

你可能感兴趣的:(ElasticSearch)