愚者求师之过,智者从师之长。

es8使用版本7的Rest-High-Level-client失败

Elasticsearch | 作者 biltong | 发布于2024年07月24日 | 阅读数:3300

当前公司升级es到8.11版本,想使用 BulkProcessor 进行多线程写入控制,结果发现es8中已经没有相关方法了。官方推荐是结合使用es7的Rest-High-Level-client,以此来使用版本7的BulkProcessor。但是es8混合加载了es7的jar包,运行期报错:
 
Factory method 'restHighLevelClient' threw exception; nested exception is java.lang.NoSuchMethodError: 'org.elasticsearch.core.RestApiVersion org.elasticsearch.core.RestApiVersion.minimumSupported()'
 
查了一下,应该是版本间调用出现了问题。请问下怎么解决该问题,或者有其他方法可以在es8上使用 BulkProcessor 吗?
已邀请:

Charele - Cisco4321

赞同来自:

不可能吧,要操作ES8, “官方推荐是结合使用es7的Rest-High-Level-client”?
链接在哪,发出来看看。

biltong

赞同来自:

说一下经过,之前使用的是es v5.6的版本,用 BulkProcessor 来进行并发控制,本期es升级到v8.11,然后发现这个功能已经被废弃了。查到这个功能在v7.17版本还存在,然后结合链接上说的内容,所以考虑结合v7.17版本的RHLC来使用。
 
最终结果是,这个方案不可行。后来通过其他途径解决了。

biltong

赞同来自:

/guide/en/elasticsearch/client/java-api-client/current/migrate-hlrc.html
 
用户组权限,发不了链接,在前面补齐官网地址
 

要回复问题请先登录注册