elasticsearch,Java,Spring,Spring Boot,elasticsearch" /> elasticsearch,Java,Spring,Spring Boot,elasticsearch" />

Java 通过弹簧数据使用elasticsearch 2.4的弹簧护套2

Java 通过弹簧数据使用elasticsearch 2.4的弹簧护套2,java,spring,spring-boot,elasticsearch,Java,Spring,Spring Boot,elasticsearch,我有一个spring boot 1.5.9应用程序,它使用spring数据elasticsearch(2.1.3)连接到elasticsearch 2.4.0实例。现在,我需要将spring boot升级到版本2,使其能够与新的依赖项一起工作 如果我使用最新的spring启动版本(2.1.0),它附带了spring数据elasticsearch 3.1.2,它使用elasticsearch 6.4.2。但根据需要,我应该使用spring数据elasticsearch 2.1.x,因此我指定了以下

我有一个spring boot 1.5.9应用程序,它使用spring数据elasticsearch(2.1.3)连接到elasticsearch 2.4.0实例。现在,我需要将spring boot升级到版本2,使其能够与新的依赖项一起工作

如果我使用最新的spring启动版本(2.1.0),它附带了spring数据elasticsearch 3.1.2,它使用elasticsearch 6.4.2。但根据需要,我应该使用spring数据elasticsearch 2.1.x,因此我指定了以下版本:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <version>2.1.0.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-elasticsearch</artifactId>
  <version>2.1.3.RELEASE</version>
  <exclusions>
    <exclusion>
      <groupId>org.elasticsearch</groupId>
      <artifactId>elasticsearch</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.elasticsearch</groupId>
  <artifactId>elasticsearch</artifactId>
  <version>2.4.6</version>
</dependency>
其中partSearchRepository定义为:

public interface PartSearchRepository extends ElasticsearchRepository<Part, Long> {
}
公共接口PartSearchRepository扩展了ElasticsearchRepository{
}
由此我推断,spring数据elasticsearch(请参阅ElasticsearchRepositoryFactoryBean.afterPropertiesSet())不能很好地与较新的spring数据公用程序配合使用


有没有办法将spring boot 2与elasticsearch 2.4配合使用?

spring boot 2.1需要spring 5.1。您正在使用的Spring Data ElasticSearch版本绑定到Spring 4,因此无法正常工作


因此,简短的回答是:不,你不能

弹簧护套2.1,需要弹簧5.1。您正在使用的Spring Data ElasticSearch版本绑定到Spring 4,因此无法正常工作


因此,简短的回答是:不,你不能

不会。因为较新的spring引导需要spring 5.1,并且您使用的spring Data ElasticSearch版本与该版本不兼容。所以没有。为什么不把它作为一个答案发布呢?没有。因为较新的spring boot需要spring 5.1,而您使用的spring Data ElasticSearch版本与此不兼容。所以没有。为什么不把它作为一个答案呢?
public interface PartSearchRepository extends ElasticsearchRepository<Part, Long> {
}