之前跟着老师的视频安装了一个es6.4.3,视频里说“6->7 类型逐渐被废弃,版本变化较大,与springboot不兼容,建议安装6.4.3与内部一致”,我就很天真的跟着一块装了,结果可想而知……我的springboot版本是2.6.4啊,怎么可能不报错呢??!还是要多看官方文件!整合最重要的就是这张图,版本对了什么都好说 es对应的springboot版本
Spring Data Release Train |
Spring Data Elasticsearch |
Elasticsearch |
Spring Framework |
Spring Boot |
2021.2 (Raj) |
4.4.x |
7.17.4 |
5.3.x |
2.7.x |
2021.1 (Q) |
4.3.x |
7.15.2 |
5.3.x |
2.6.x |
2021.0 (Pascal) |
4.2.x |
7.12.0 |
5.3.x |
2.5.x |
2020.0 (Ockham) |
4.1.x |
7.9.3 |
5.3.2 |
2.4.x |
Neumann |
4.0.x |
7.6.2 |
5.2.12 |
2.3.x |
Moore |
3.2.x |
6.8.12 |
5.2.12 |
2.2.x |
Lovelace |
3.1.x |
6.2.2 |
5.1.19 |
2.1.x |
Kay |
3.0.x |
5.5.0 |
5.0.13 |
2.0.x |
Ingalls |
2.1.x |
2.4.0 |
4.3.25 |
1.5.x |
所以2.6.4版本的 springboot,es 应该下载 7.15.2 的,分词器 也要是 7.15.2 版本的。
特别注意的是es7.x要求jdk11,可以自行下载,也可以将javahome更改为es自带的jdk路径
解压es7.15.2 |
我的目录是D:\Java\elasticsearch-7.15.2 |
更改config目录下 elasticsearch.yml
|
cluster.name: 集群名 |
|
path.data: 数据目录 |
|
path.logs: 日志目录 |
更改环境变量path |
D:\Java\elasticsearch-7.15.2\bin |
更改config目录下 jvm.options
|
-Xms256m -Xmx512m |
分词器解压到到 |
D:\Java\elasticsearch-7.15.2\plugins\ik |
如果现在直接启动会报错 |
warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" |
我们需要修改elasticsearch-env.bat 指定jdk |
注释掉javahome后面那一段if-else |
|
改为set JAVA=“%ES_HOME%\jdk\bin\java.exe” set JAVA_HOME=“%ES_HOME%\jdk” set JAVA_TYPE=bundled jdk |
!! |
更改后还要运行elasticsearch-env.bat
|
之后再启动es就不会报错了
安装完es后记得在pom文件中导入对应版本的依赖,我的分别是:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.4</version>
<relativePath/> <!-- lookup parent from repository -->
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-elasticsearch -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
<version>2.6.4</version>
</dependency>