Elasticsearch java操作文档时候数据修改删除成功,但是抛出异常

Elasticsearch java操作文档时候数据修改/删除成功,但是抛出异常

bug信息

ElasticsearchStatusException[Unable to parse response body
]; nested: ResponseException[method [DELETE], host [http://localhost:9200], URI [/hotel/_doc/395702?timeout=1m], status line [HTTP/1.1 404 Not Found]
{"_index":"hotel","_id":"395702","_version":1,"result":"not_found","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":220,"_primary_term":6}];
	at org.elasticsearch.client.Re
...

环境

springboot版本2.6.11

elasticsearch版本8.1.1

原因分析

springboot版本略低,不兼容elasticsearch版本

解决方案

  1. 提高springboot版本
  2. 自定义请求头

我是采用方法二处理的:

原来

@BeforeEach
void init() {
  client = new RestHighLevelClient(RestClient.builder(HttpHost.create("http://localhost:9200")));
}

现在

@BeforeEach
void init() {
  client = new RestHighLevelClient(RestClient.builder(HttpHost.create("http://localhost:9200"))
                .setDefaultHeaders(new Header[]{new BasicHeader(HttpHeaders.ACCEPT,"application/vnd.elasticsearch+json;compatible-with=7")}
                ));
}

参考资料

[1] Elasticsearch java RestHighLevelClient “Unable to parse response body” IllegalArgumentException: Required index

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值