将springBoot与elasticsearch 2.x结合使用

时间:2016-03-28 09:43:47

标签: spring elasticsearch spring-boot spring-data-elasticsearch

我尝试使用spring boot 1.3.3来实现与elasticsearch进行通信的项目。 在网上进行了多次搜索之后,我发现spring-boot-starter-data-elasticsearch在我的情况下并不好,因为它使用的是Elasticsearch 1.5,我必须使用Elasticsearch 2.2 还有希望使用弹簧靴吗?

3 个答案:

答案 0 :(得分:2)

当然,您可以将Spring Boot与Elasticsearch 2.x一起使用。我正在使用它。这是我的gradle.build的摘录。

apply plugin: 'spring-boot'

buildscript {
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE")
    }
}

dependencies {
    // Elasticsearch
    compile ("org.elasticsearch:elasticsearch:2.1.1")

    // Spring Boot
    compile("org.springframework.boot:spring-boot-starter-actuator")
    compile("org.springframework.boot:spring-boot-starter-web")
    ...
}
...

如果它不符合您的需求,请不要使用spring-boot-starter-data-elasticsearch。

如果需要,您可以在使用最新版本更新spring-boot-starter后返回并更新您的依赖项。对于Elasticsearch 2.2.0版本,目前有一个2.0.0.RC1版本的spring-data-elasticsearch,所以可以合理地假设spring-boot-starter也会很快更新。

希望这有帮助。

答案 1 :(得分:0)

只有spring-data-elasticsearch子项目与Elasticsearch绑定。顺便说一句,恕我直言,这种集成真的很糟糕,因为他们试图将非常灵活的Elasticsearch API适用于非常有限的接口。 如果你想将Spring Boot用于微服务基础架构和其他东西,只需将它与适当版本的elasticsearch客户端一起使用,不要打扰spring-boot-starter-data-elasticsearch。

答案 2 :(得分:0)

我们成功使用https://github.com/searchbox-io/Jest Spring Boot。以前我们尝试使用spring-data-elasticsearch但是它与sping-data-mongodb一起使用起来并不好用。然后我们搬到了JEST,再也没有回头。

只需添加

compile('io.searchbox:jest:2.0.2')

gradle配置文件。 JEST有大量测试,您可以在其中找到所有可能的用例。