我对ES还比较新。我一直在寻找一个数据库迁移工具,但一直找不到。我想知道是否有人能够帮我指明方向。
在我的项目中,我将使用Elasticsearch作为主要数据存储库。我想要对所有的映射和配置更改/数据导入/数据升级脚本进行版本控制,并随着项目的开发而运行。
过去,我使用了像Flyway或Liquibase这样的数据库版本控制工具。
有没有任何框架/脚本或方法可以与ES一起使用来实现类似的功能?
有没有人有手动使用脚本并运行迁移脚本或至少升级脚本的经验。
提前致谢!
我对ES还比较新。我一直在寻找一个数据库迁移工具,但一直找不到。我想知道是否有人能够帮我指明方向。
在我的项目中,我将使用Elasticsearch作为主要数据存储库。我想要对所有的映射和配置更改/数据导入/数据升级脚本进行版本控制,并随着项目的开发而运行。
过去,我使用了像Flyway或Liquibase这样的数据库版本控制工具。
有没有任何框架/脚本或方法可以与ES一起使用来实现类似的功能?
有没有人有手动使用脚本并运行迁移脚本或至少升级脚本的经验。
提前致谢!
如果您在数据映射关系中遗漏了一些错误,您将得到明确的错误提示
您可以获取实际的ES映射并将其与您的数据模型进行比较。如果您的编程语言有足够高级的ES库,这将非常容易
您可以利用索引别名进行迁移
所以,一点点经验。对我来说,目前合理的流程是这样的:
news
),它指向实际的索引(例如news_index_{revision}_{date_created}
)。每次部署代码时,你需要:
所有这些实际上意味着你可以继续使用你拥有的映射/数据,就像往常一样处理数据。
name_{revision}_{date}
)bulk
请求进行快速重新索引
在重新索引期间,您可以通过别名正常地安全地索引新文档。缺点是在重新索引期间,历史数据部分可用。这是经过生产测试的解决方案。关于这种方法的注意事项: