elk使用爬坑记录 2 之 SpringBoot 集成 Elasticsearch

目前最新版的ElasticSearch为7.3.1,SpringBoot2.x版本还没有即时的更新,其父级依赖还是<elasticsearch.version>5.6.10</elasticsearch.version>,因此需要再子项目中覆盖父级别的依赖,指定子项目的正确版本。子项目中Elasticsearch7.3.1的正确配置方式如下:

SpringBoot父级依赖:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath>../../spring-boot-dependencies</relativePath>
    </parent>

子项目中覆盖父依赖中的elasticsearch的依赖:
1、再dependencyManagement中明确指定子项目中的依赖版本,注意的是dependencyManagement中指定的依赖版本仅仅是作为属性存在的,并不会真正导入依赖,因此需要再次导入对应的依赖;

 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--注意:如果使用了parent那么需要在此定义es版本号,因为spring-boot-start-parent中已经定义了es相关依赖的版本号,high-level-client中的部分依赖会被覆盖成低版本的,导出出现莫名其妙的错误-->
            <dependency>
                <groupId>org.elasticsearch.client</groupId>
                <artifactId>elasticsearch-rest-high-level-client</artifactId>
                <version>7.2.0</version>
            </dependency>

            <dependency>
                <groupId>org.elasticsearch</groupId>
                <artifactId>elasticsearch</artifactId>
                <version>7.2.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

2、再pom.xml的dependencies节点中真正导入dependencyManagement指定的依赖:

  <!-- es相关的依赖配置,必须在dependencyManagement中声明版本号进行父级依赖的覆盖,否则将被父级依赖覆盖 -->
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.2.0</version><!--$NO-MVN-MAN-VER$-->
        </dependency>

        <dependency>
                <groupId>org.elasticsearch</groupId>
                <artifactId>elasticsearch</artifactId>
                <version>7.2.0</version><!--$NO-MVN-MAN-VER$-->
            </dependency>

Previous
elk使用爬坑记录 4 之 Elasticsearch中ik分词器的使用 elk使用爬坑记录 4 之 Elasticsearch中ik分词器的使用
ik分词器对中文支持较好的开源分词器,开源地址为https://github.com/medcl/elasticsearch-analysis-ik 使用注意事项: ik分词器的版本必须和elasticsearch的版本对应; 官网上7.
2019-09-07
Next
elk使用爬坑记录 3 之 SpringBoot 中 Elasticsearch 相关API的使用 elk使用爬坑记录 3 之 SpringBoot 中 Elasticsearch 相关API的使用
首先需要再application.properties中配置elasticsearch的相关属性: #-----------------elasticsearch相关的配置------------------ es.host=192.1
2019-09-07