Parsing Elasticsearch java RestHighLevelClient“;无法分析响应正文“;IllegalArgumentException:必需[索引]
在Elasticsearch中使用javaRestHighLevelClient创建索引时,我遇到了一个问题,因此我的CreateIndexResponse对象为空 我实际上能够创建索引,我可以在以后查询它时确认,但是当我创建索引时,我得到了这个异常。这是我的代码: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
`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>`