创建工程,引入依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
  4. <!--<version>2.1.5.RELEASE</version>-->
  5. <version>2.2.2.RELEASE</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-test</artifactId>
  10. <scope>test</scope>
  11. </dependency>

配置yml

  1. spring:
  2. data:
  3. elasticsearch:
  4. cluster-name: es6
  5. cluster-nodes: 192.168.1.187:9300

版本协调

目前springboot-data-elasticsearch中的es版本贴合为es-6.4.3,如此一来版本需要统一,把es进行降级。等springboot升级es版本后可以在对接最新版的7.4。

Netty issue fix

  1. @Configuration
  2. public class ESConfig {
  3. /**
  4. * 解决netty引起的issue
  5. */
  6. @PostConstruct
  7. void init() {
  8. System.setProperty("es.set.netty.runtime.available.processors", "false");
  9. }
  10. }

附 elasticsearch6.4.3配置文件

elasticsearch.yml

  1. cluster.name: es6
  2. node.name: node0
  3. path.data: /usr/local/elasticsearch-6.4.3/data
  4. path.logs: /usr/local/elasticsearch-6.4.3/logs
  5. network.host: 0.0.0.0

./elasticsearch
如果出现如下错误:
Elasticsearch整合SpringBoot - 配置文件 - 图1
那么需要切换到root用户下去修改配置如下:

  1. vim /etc/security/limits.conf
  1. * soft nofile 65536
  2. * hard nofile 131072
  3. * soft nproc 2048
  4. * hard nproc 4096

Elasticsearch整合SpringBoot - 配置文件 - 图2
Elasticsearch整合SpringBoot - 配置文件 - 图3
别忘记 sysctl -p 刷新一下
最后再次启动OK

Don’t forget!

中文分词器也需要去配置一下噢别忘记!:)
中文分词器的版本要记得使用6,而不是之前的7,版本一定要贴合噢~
比如目前的所有版本都是统一为es-6.4.3,那么下载地址为:
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.4.3