elasticsearch,indexing,client,Parsing,elasticsearch,Indexing,Client" /> elasticsearch,indexing,client,Parsing,elasticsearch,Indexing,Client" />

Parsing Elasticsearch java RestHighLevelClient“;无法分析响应正文“;IllegalArgumentException:必需[索引]

Parsing Elasticsearch java RestHighLevelClient“;无法分析响应正文“;IllegalArgumentException:必需[索引],parsing,elasticsearch,indexing,client,Parsing,elasticsearch,Indexing,Client,在Elasticsearch中使用javaRestHighLevelClient创建索引时,我遇到了一个问题,因此我的CreateIndexResponse对象为空 我实际上能够创建索引,我可以在以后查询它时确认,但是当我创建索引时,我得到了这个异常。这是我的代码: `CreateIndexRequest request = new CreateIndexRequest("myindex"); CreateIndexResponse createIndexResponse = client.i

Elasticsearch中使用javaRestHighLevelClient创建索引时,我遇到了一个问题,因此我的CreateIndexResponse对象为空

我实际上能够创建索引,我可以在以后查询它时确认,但是当我创建索引时,我得到了这个异常。这是我的代码:

`CreateIndexRequest request = new CreateIndexRequest("myindex"); 
CreateIndexResponse createIndexResponse = client.indices().create(request);`
Elasticsearch返回成功消息,其中包含:

`HTTP 200 Success

{
  "acknowledged": true,
  "shards_acknowledged": true
}`
实际上,我可以稍后通过GET调用检索索引,但是当RestHighLevelClient尝试使用以下内部调用解析响应时:

//Type of the response converter: CheckedFunction<Req, Request, IOException>    requestConverter
responseConverter.apply(response);
因此,基本上这是说,以下响应无法解析,但对我来说,它看起来非常可解析:

Response{requestLine=PUT /myindex?master_timeout=30s&timeout=30s HTTP/1.1, 
host=http://localhost:9200, response=HTTP/1.1 200 OK}
为什么它告诉我索引丢失了?是因为我错误地使用了java客户机吗?这是一个版本:

<dependencies>
    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>6.2.1</version>
    </dependency>
</dependencies>`

org.elasticsearch.client
elasticsearch rest高级客户端
6.2.1
`

提前感谢您的帮助

当我使用比客户机旧的Elasticsearch verson时,我也犯了同样的错误。这是一个兼容性问题,请参阅解决方案:您使用什么ES版本?
<dependencies>
    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>6.2.1</version>
    </dependency>
</dependencies>`