升级到3.x说明
从2.X到3.X带来了大量底层的优化,新特性以及陷修复,其中包括呼声最高的jackson替代fastjson,以及对es8.x版本的彻底兼容,使用体验进一步飙升! 值得一提的是,尽管从版本层面是大版本调整,但对于用户来说,需要改动的地方却非常少,微量调整甚至是不调整即可兼容,我们强烈建议您升级至3.x版本使用.
如果你想从2.X升级到3.X,你需要做以下事情:
- 检查您的es版本,如果是7.x,则需要改1行配置文件,在配置文件中添加easy-es.compatible=true,开启兼容模式,如果es版本>=8.0,则无需增加此配置.
- 检查您的数据模型体类中,针对主键字段id之前是否已经将主键写入到source中,默认是未写入的,如果未写入,需要您添加@IndexId(writeToSource = false),如果之前已写入,则无需增加此配置.
- 如果您之前已使用父子类型,则需要每个节点类继承框架内置的BaseJoin,其它无需调整
- 检查es返回的得分字段,即加了@Score注解的字段,类型需要由Float调整为Double类型
- 本次移除了fastjson相关依赖,若您在非easy-es实现的其它代码中使用了fastjson,可以保留项目中的fastjson依赖或者自己重新引入,则无需调整代码,或是直接废弃fastjson,用jackson对这些代码进行改造.
- 本次移除了RestHighLevelClient,调整为ElasticsearchClient,若您之前使用RestHighLevelClient写了一些原生查询,可以调整为ElasticsearchClient调用,框架内置的ElasticsearchClient是可以兼容RestHighLevelClient语法的,因此代码层面仅需要微调即可,若未使用原生查询,则无需处理.
提示
尽管本次升级从版本层面是大版本调整,对底层的改动也非常大,但我们社区优秀的开发者向下兼容处理的比较好,带给用户的改动并不多,我们也建议您尽快升级至功能更为强大的3.x版本,相比改动带来的少许改造,3.X所带来的收益是值得的!
帮助我们改善此文档 (opens new window)
上次更新: 2025/05/11