Ist*_*ano 26 java migration liquibase elasticsearch flyway
我对ES很新.我一直在尝试搜索数据库迁移工具很长时间,我找不到一个.我想知道是否有人可以帮我指出正确的方向.
我将在项目中使用Elasticsearch作为主数据存储区.我想对我在项目中开发新模块时运行的所有映射和配置更改/数据导入/数据升级脚本进行版本控制.
在过去,我使用了像Flyway或Liquibase这样的数据库版本控制工具.
是否有任何我可以与ES一起使用的框架/脚本或方法来实现类似的东西?
有没有人有任何使用脚本手动执行此操作的经验,并至少运行迁移脚本升级脚本.
提前致谢!
Sla*_*lam 28
从这个角度来看,ES有很大的局限性:
在你的问题中,这意味着什么?基本上,您无法拥有ES的经典迁移工具.以下是可以让您更轻松地使用ES的工作:
使用严格的映射("dynamic": "strict"和/或index.mapper.dynamic: false,看看映射文档).这将保护您的索引/类型
您可以获取实际的ES映射并将其与数据模型进行比较.如果您的PL具有足够高的ES级别库,这应该非常简单
您可以利用索引别名进行迁移
所以,一点经验.对我来说,目前合理的流程是这样的:
news),它指向实际索引(即news_index_{revision}_{date_created}).每次部署代码时,您
尝试放置模型(类型)映射.如果它完成没有错误,这意味着你也是
所有这些实际上意味着您可以使用您拥有的mappping /数据,只需像往常一样处理数据
name_{revision}_{date}bulk快速重建索引请求的迁移代码在此重建索引期间,您可以通过别名安全地索引新文档.缺点是历史数据在重建索引期间部分可用.这是经过生产测试的解决方案.围绕这种方法的注意事项:
总结一下:
river-*工具一样.| 归档时间: |
|
| 查看次数: |
6895 次 |
| 最近记录: |