首页 > 解决方案 > 获取 ElasticsearchStatusException 和 ElasticsearchResponseException?

问题描述

什么是 ElasticsearchStatusException 和 ElasticsearchResponseException?

Caused by: org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception [type=illegal_argument_exception, reason=request [/user_context/_refresh] contains unrecognized parameter: [ignore_throttled]]

Caused by: org.elasticsearch.client.ResponseException: method [POST], host [http://HOST_NAME:PORT], URI [/user_context/_refresh?ignore_throttled=false&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true], status line [HTTP/1.1 400 Bad Request]

这就是我在尝试运行我的 JavaSpring 代码时得到的,

ERROR 26299 --- [           main] .d.e.r.s.AbstractElasticsearchRepository : failed to load elasticsearch nodes : ElasticsearchStatusException[method [HEAD], host [************] ...............

pom.xml 中的 ElasticSearch 版本:6.8.1 和 Spring Data Elasticsearch 版本:3.2.6

远程服务器的 ElasticSearch 版本:6.2.2

我正在使用高级休息客户端。

 @Override
 @Bean
 public RestHighLevelClient elasticsearchClient() {
 final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
     .connectedTo(elasticsearch_host + ":" + elasticsearch_port).build();
 return RestClients.create(clientConfiguration).rest();
}

春季版本:2.2.4

标签: javaspring-bootelasticsearch

解决方案


看起来你是 elasticsearch 主机是空的,如下面的错误所示:

AbstractElasticsearchRepository : failed to load elasticsearch nodes : ElasticsearchStatusException[method [HEAD], host []

如果您使用 9200 端口在本地运行 Elasticsearch,那么您可以将 Rest 高级客户端创建为:

AbstractElasticsearchRepository:加载弹性搜索节点失败:ElasticsearchStatusException [方法[HEAD],主机[]

import org.springframework.beans.factory.annotation.Autowired;@Configuration
static class Config {

      @Bean
      RestHighLevelClient client() {

        ClientConfiguration clientConfiguration = ClientConfiguration.builder() 
          .connectedTo("localhost:9200")
          .build();

        return RestClients.create(clientConfiguration).rest();                  
      }
    }

推荐阅读