[发明专利]一种Elasticsearch版本迁移方法、装置和存储介质在审
申请号: | 202110442896.9 | 申请日: | 2021-04-23 |
公开(公告)号: | CN113138792A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 邓孝超;范渊 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/76;G06F16/81 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 豆贝贝 |
地址: | 310000 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 elasticsearch 版本 迁移 方法 装置 存储 介质 | ||
本申请公开了一种Elasticsearch版本迁移方法,包括:当项目更新迭代启动时,创建目标版本的XML文件;调用Mapping API获取当前生产环境的字段属性信息,并将目标版本的XML文件中的字段属性信息与当前生产环境的字段属性信息进行匹配;若未匹配成功,则创建目标索引,将目标索引的字段类型定义为目标版本的XML文件中的字段属性信息;调用Reindex API,将当前生产环境对应旧索引的数据迁移到目标索引中。该方法能够实现字段属性信息的升级,能够更好的满足用户需求。本申请同时还提供了一种Elasticsearch版本迁移装置、一种电子设备和计算机可读存储介质,具有上述有益效果。
技术领域
本申请涉及Elasticsearch技术领域,特别涉及一种Elasticsearch版本迁移方法、装置、电子设备和计算机可读存储介质。
背景技术
Elasticsearch是一个开源的搜索引擎,建立在一个全文搜索引擎库ApacheLuceneTM基础之上。在大数据技术领域,Elasticsearch的分布式检索功能便于数据多维度呈现,分析,预测,利于发挥数据都价值。虽然对于Elasticsearch使用最多的是检索,但是因为海量数据需要存储在Elasticsearch中,检索的效率和存储空间的合理利用往往也会取决于其字段类型Mapping的设计,合理的Mapping设计能够很好的提升数据在Elasticsearch存储空间的合理利用,以及检索效率。
相关技术中Mapping不支持删除和修改字段,当业务功能需要引入或删除关键字段时,不能够通过对已存在字段的定义进行修改和删除,不能满足业务需求。
发明内容
本申请的目的是提供一种Elasticsearch版本迁移方法,能够实现字段类型的升级,更好的满足用户需求。其具体方案如下:
第一方面,本申请公开了一种Elasticsearch版本迁移方法,包括:
当项目更新迭代启动时,创建目标版本的XML文件;
调用Mapping API获取当前生产环境的字段属性信息,并将所述目标版本的XML文件中的字段属性信息与所述当前生产环境的字段属性信息进行匹配;
若未匹配成功,则创建目标索引,将所述目标索引的字段类型定义为所述目标版本的XML文件中的字段属性信息;
调用Reindex API,将所述当前生产环境对应旧索引的数据迁移到所述目标索引中。
可选的,在调用Mapping API之前,还包括:
获取MySQL数据库中的字段定义记录表;所述字段定义记录表中存储有所述项目下的各个XML文件;
将所述目标版本的XML文件与所述字段定义记录表中所述项目下的各个XML文件进行匹配;
若未匹配成功,则执行所述调用Mapping API的步骤。
可选的,创建目标版本的XML文件,包括:
根据字段升级信息,在所述项目下的目标XML文件中添加所述字段升级信息对应的字段属性信息,生成所述目标版本的XML文件。
可选的,所述将所述目标版本的XML文件中的字段属性信息与所述当前生产环境的字段属性信息进行匹配,包括:
解析所述字段定义记录表中的schema_num,得到所述项目下的各个XML文件;
判断所述项目下的各个XML文件是否包含所述目标版本的XML文件。
可选的,在将所述目标版本的XML文件中的字段属性信息与所述当前生产环境的字段属性信息进行匹配之前,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110442896.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种适用于街道的清洁装置
- 下一篇:一种葡萄产量的预测方法及装置