之前跟着老师的视频安装了一个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>