1.前言
网上很多整合教程都是基于SpringBoot1.5的,而SpringBoot1.5只支持2.x版本的ElasticSearch,而我想要使用5.x系的ES,折腾半天终于弄好了,这里记录一下
2.项目环境
JDK 1.8
Spring Boot 2.0.0.RELEASE
ElasticSearch 5.6.8
Deepin Linux 15.5
3.搭建SpringBoot骨架
用idea创建新项目,勾选web和NoSQL里Elasticsearch选项,等待创建完成即可
然后在pom.xml补充一个依赖(其实SpringBoot2.0之后貌似已经不需要了)
如果是旧项目的话添加依赖:
这里Maven加载Jar包会用点时间,所以我们先来装ES
4.ElasticSearch安装
注意,ES的版本最好下载和项目一致的版本,我之前就是下错了版本然后一直连不上,坑T_T
当然这只是建议,你也可以使用你想用的版本的ES
这里给出一个查看版本的方法,在IDEA编辑器左下部分能够看到我们导入的所有JAR包
然后我们可以看到所有关于elasticsearch的jar包,可以看到对应es的版本,这里是5.6.8
然后我们从官网下载ES
下载地址(https://www.elastic.co/cn/downloads/past-releases)
下载完成后解压elasticsearch-5.6.8.tar.gz
修改ES配置
修改 config下的elasticsearch.yml
配置 cluster.name、network.host
其他参数如http.port,log等自己按需配置,这里保持默认
启动ES
cd到elasticsearch的bin目录下
./elasticsearch
5. 配置SpringBoot
编辑application.yml或application.properties
这里有一点想说的是,在elasticsearch中默认9200是http的端口,9300是给java用户的端口,所以我们这里端口写9300
添加注解
然后在AppAplication.java中(也就是包含SpringBoot的Main方法的那个类)添加注解
@EnableElasticsearchRepositories
6.测试
启动SpringBoot,控制台输出一下信息:
可以看见SpringBoot成功连接到ES了
编写DAO,Service,Conntroller
网上教程就很多了,大家可以参考网上教程
这里给个官方文档链接,很有参考价值
官方文档(英文)链接(https://docs.spring.io/spring-data/elasticsearch/docs/3.0.5.RELEASE/reference/html/)