当前位置: 当前位置:首页 > 探索 > SpringBoot 整合 Elasticsearch (超详细) 正文

SpringBoot 整合 Elasticsearch (超详细)

2024-05-02 16:28:02 来源:口口声声网 作者:娱乐 点击:422次

SpringBoot 整合 Elasticsearch (超详细)

📢 本文章通过实战记录相关问题以及提供解决方案。整合

👤 公众号:恩故事还在继续

目录

  • 1. 环境需求
    • 1.1 Elasticsearch 安装
    • 1.2 Elasticsearch ik 安装
    • 1.3 postman 安装
  • 2. 测试 Elasticsearch是详细否安装成功
  • 3. SpingBoot 整合 Elasticsearch
    • 3.1 配置 spring-boot-starter-data-elasticsearch 依赖
    • 3.2 启动 elasticsearch 失败解决方法
    • 3.3 elasicsearch 版本冲突解决方案
  • 4. 参考文献
  • 5. 联系我

1. 环境需求

为了完成 Spring Boot 与 Elasticsearch 整合需要安装下面工具

1. springboot 2.1.52. elasticsearch 6.4.33. elasticsearch ik 6.4.34. postman (这个任意)

1.1 Elasticsearch 安装

🔗 Elasticsearch 官网
🔗 Elasticsearch 6.4.3 下载链接

配置环境变量点击我的电脑 ->高级系统设置 ->环境变量 ->系统变量 ->Path D:\elasticsearch-6.4.3\bin
修改解压后 config 文件下的 elasticsearch.yml 自定义下面三个变量的属性cluster.name: nowcode如果不修改默认是 Linux 的地址path.data: d:\data\elasticsearch_datapath.logs: d:\data\elasticsearch_log

1.2 Elasticsearch ik 安装

🔗 Elasticsearch ik 官网下载地址

🔗 Elasticserch ik 6.4.3 版本下载地址

解压 elasticsearch ik 到指定目录 (这里有个小坑需要注意)我们首先在 elasticsearch 解压的目录下面找到 D:\elasticsearch-6.4.3\plugins在 plugins 目录下面新建 ik 文件夹然后将 elasticsearch ik 解压到 plugins 文件夹下注意: 千万不要将 elasticsearch-analysis-ik-6.4.3 这个文件夹解压到 ik 里面 我们只需要 elasticsearch-analysis-ik-6.4.3 下一级的内容解压到 ik 即可

1.3 postman 安装

🔗 Postman 官网下载链接

2. 测试 Elasticsearch是否安装成功

首先,在 D:\elasticsearch-6.4.3\bin 打开 elasticsearch.bat然后,整合 windows + R 输入 cmd 分别使用下面这些命令进行测试:查看健康状态curl -X GET “localhost:9200/_cat/health?v“查看节点curl -X GET “localhost:9200/_cat/nodes?v“查看索引curl -X GET "localhost:9200/_cat/indices?v"新建索引curl -X PUT "localhost:9200/test"删除索引curl -X DELETE "localhost:9200/test"

3. SpingBoot 整合 Elasticsearch

3.1 配置 spring-boot-starter-data-elasticsearch 依赖

org.springframework.bootspring-boot-starter-data-elasticsearch	2.1.6.RELEASE
在 application.properties 配置 ElasticserachProperties:spring.data.elasticsearch.cluster-name=nowcoderspring.data.elasticsearch.cluster-nodes=127.0.0.1:9300

3.2 启动 elasticsearch 失败解决方法

原因是 netty 启动冲突问题, 需要在 CommunityApplication 编写 init()package org.example.community;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import javax.annotation.PostConstruct;@SpringBootApplicationpublic class CommunityApplication {    @PostConstruct    public void init(){         // 解决 netty 启动冲突问题        // see Netty4Utils.setAvailableProcessors()        System.setProperty("es.set.netty.runtime.available.processors", "false");    }    public static void main(String[] args) {        SpringApplication.run(CommunityApplication.class, args);    }}

3.3 elasicsearch 版本冲突解决方案

按照课程流程走的话 elasticsearch 版本和 elasticsearch ik 都是 6.4.3其次就是Springboot 版本必须是 2.1.5, 高版本的话建议将 Springboot 降低到低版本如果上面版本太高或者太低会出现各种不兼容的问题

具体做法如下所示:

org.springframework.bootspring-boot-starter-parent    2.1.5.RELEASE

在 pom.xml 文件里面将原来的 version 版本修改为 2.1.5 ,然后 maven 会自动将 2.1.5 需要的详细配置添加进去,我们这时候需要等待一会,整合接着我们这样操作:

在 IDEA 中点击 File->invaildate and restart

当编译器再次启动的详细时候就可以了。

整合

4. 参考文献

🔗 1. SpringBoot 整合 Elasticsearch

整合

5. 联系我

在这里插入图片描述

整合
作者:休闲
------分隔线----------------------------
头条新闻
图片新闻
新闻排行榜