在 Spring 引导中将 Apache Mahout 与 ElasticSearch 集成

Integrate Apache Mahout with ElasticSearch in Spring Boot

我有一个 Spring 与 ElasticSearch 集成的启动应用程序。 当我尝试将 Apache Mahout 添加为 Maven 依赖项时,应用程序不再 运行 此错误:

Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/apache/lucene/util/Accountable

如果我删除 mahout 依赖项,应用程序是 运行。 pom.xml:

    <dependencies>
        <dependency>
            <groupId>org.apache.mahout</groupId>
            <artifactId>mahout-core</artifactId>
            <version>0.9</version>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>


    </dependencies>

maven 解决了依赖关系,项目编译没有错误,但是当我启动它时,服务器停止了。 任何的想法? 谢谢

为了使用最新版本的 Elasticsearch v6.x 和 Spring-boot,您必须关注矩阵版本。因为当我尝试将 Elasticsearch v6.2.2 作为依赖项集成到我的 spring-boot v1.5.X 时,我遇到了几个错误。因此 spring-boot v2.x 是与 ES v6.x 兼容的 所以以下 link 将帮助您了解项目版本之间的矩阵: https://www.elastic.co/support/matrix#matrix_compatibility 完成之后,使用最新版本的 apache mahout。