是否有管理弹性搜索迁移的工具



我刚开始使用ElasticSearch,我希望自动化代码版本之间的迁移。

对于RDBMS,我使用像phinx这样的工具将更改应用到DB。

例如:

  1. 使用up()&down()方法
  2. 编写要应用的命令(例如添加索引)
  3. 经过试验等CCD_ 3

有这样的迁移工具吗?

如果没有,是否有其他可接受的方法来处理对集群的更改?

我从未听说过专门用于ES索引的工具。

如果你的目标是更新数据的内部表示,我认为最好的方法就是创建一个脚本:

  • 查找受影响的文档
  • 阅读内容
  • 修改它们
  • 在新文档中重新索引
  • 然后您可以删除旧文档

更新文档——它不会比重新索引更高效,因为文档是不可变的,所以更新只是get+reindex(https://www.elastic.co/guide/en/elasticsearch/guide/current/update-doc.html)

带有基于代码(例如Java)迁移的Flyway可用于处理任何数据存储。类似于迁移关系数据库,但需要做更多的工作,因为您需要使用相关命令(例如创建索引)来实现对ElasticSearch的调用。

https://flywaydb.org/documentation/concepts/migrations.html#java-基于的迁移

来自RDBMS的背景,当您处理一个有很多迁移文件的大项目时,迁移工具非常方便。Elasticsearch也面临着同样的问题,即目前社区中没有稳定的迁移工具。

我已经创建了一个迁移工具,如果你来自python的背景,它会很方便https://pypi.org/project/chalan/.核心思想取自Alembic迁移工具,该工具用于Sqlalchemy。

使用简单

pip install chalan

然后升级你必须使用

chalan upgrade

对于降级,你必须使用

chalan downgrade 

如果您在使用此工具时遇到任何问题,请告诉我,并随时提出一些改进建议。

有关源代码,请参阅github链接-https://github.com/anandtripathi5/chalan

最新更新