elasticsearch,elastic-stack,Java,Spring Boot,Spring Mvc,elasticsearch,Elastic Stack" /> elasticsearch,elastic-stack,Java,Spring Boot,Spring Mvc,elasticsearch,Elastic Stack" />

Java 弹性搜索:将客户端传输到高级Rest客户端

Java 弹性搜索:将客户端传输到高级Rest客户端,java,spring-boot,spring-mvc,elasticsearch,elastic-stack,Java,Spring Boot,Spring Mvc,elasticsearch,Elastic Stack,我正在尝试建立与本地弹性搜索实例的连接 以前,我使用transport client创建 控制器。 配置 施工后使用装载机 重置扩展弹性搜索重置 Entity@Document注释 我尝试使用高级Rest客户端实现相同的功能 以下是我的组件: @Configuration @EnableElasticsearchRepositories(basePackages = "com.abd.def.hig.monitor.repo") public class ElasticsearchConfig

我正在尝试建立与本地弹性搜索实例的连接

以前,我使用transport client创建

控制器。 配置 施工后使用装载机 重置扩展弹性搜索重置 Entity@Document注释 我尝试使用高级Rest客户端实现相同的功能

以下是我的组件:

@Configuration
@EnableElasticsearchRepositories(basePackages = "com.abd.def.hig.monitor.repo")
public class ElasticsearchConfig {

    @Bean(destroyMethod = "close")
    public RestHighLevelClient client() {
        RestHighLevelClient client = new RestHighLevelClient(
        RestClient.builder(new HttpHost("localhost",9200,"http")));
         // System.out.println("client is" + client.indices().get());
        return client;

      }
}
当我从配置文件中删除@EnableElasticsearchRepositories时,一切正常。但是,当我添加相同内容时,我会得到如下错误:

Consider defining a bean named 'elasticsearchTemplate' in your configuration.
当我使用transport client时,解决此问题的一种方法是简单地添加:

@Bean
    ElasticsearchOperations elasticsearchTemplate() throws Exception {
        return new ElasticsearchTemplate(client());
    }

在我的配置中。但是,当使用高级客户机时,客户机方法显示错误,因为它是客户机类型

请让我知道是否有任何可能解决这个问题


提前谢谢

新的Spring数据ElasticSearch升级了他们的方法。因此,不是:

@Bean
    ElasticsearchOperations elasticsearchTemplate() throws Exception {
        return new ElasticsearchTemplate(client());
    }
它应该是:

@Bean
    ElasticsearchOperations elasticsearchTemplate() throws Exception {
        return new ElasticsearchRestTemplate(client());
    }

新的Spring数据ElasticSearch升级了他们的方法。因此,不是:

@Bean
    ElasticsearchOperations elasticsearchTemplate() throws Exception {
        return new ElasticsearchTemplate(client());
    }
它应该是:

@Bean
    ElasticsearchOperations elasticsearchTemplate() throws Exception {
        return new ElasticsearchRestTemplate(client());
    }

我也面临同样的问题。因此,我的问题是,您使用的是哪个弹性搜索版本?我使用的是6.5.0,我面临着同样的问题。所以我的问题是您使用的弹性搜索版本是什么?我使用的是6.5.0