我对ES非常陌生。我一直在尝试搜索数据库迁移工具,但找不到。我想知道是否有人可以帮助我指出正确的方向。
我将使用Elasticsearch作为项目中的主要数据存储。我想对我在项目中开发新模块时运行的所有映射和配置更改/数据导入/数据升级脚本进行版本控制。
过去,我使用过数据库版本控制工具,例如Flyway或Liquibase。
我可以在ES中使用任何框架/脚本或方法来实现类似目的吗?
有没有人有使用脚本手动执行此操作的经验,并且至少运行迁移脚本(至少是升级脚本)。
提前致谢!
从这种观点/需求来看,ES具有巨大的局限性:
在您的问题中这意味着什么?基本上,您不能拥有用于ES的经典迁移工具。以下是使您使用ES的工作更轻松的方法:
使用严格的映射("dynamic": "strict"
和/或index.mapper.dynamic: false
,看看映射文档)。这将保护您的索引/类型免受
您可以利用索引别名进行迁移
所以,一点点经验。对我来说,目前合理的流程是:
news
),该别名指向实际索引(即news_index_{revision}_{date_created}
)。每次部署代码时,您
尝试放置模型(类型)映射。如果没有错误,则表示您已经
所有这些实际上意味着您可以很好地使用已有的映射/数据,只需像往常一样处理数据
name_{revision}_{date}
bulk
html" target="_blank">请求快速重新索引的迁移代码在此重新索引过程中,您可以正常地通过别名安全地索引新文档。缺点是历史数据在重新编制索引期间部分可用。这是经过生产测试的解决方案。关于这种方法的警告:
总结一下:
river-*
工具一样。我对ES很陌生。我一直在寻找数据库迁移工具,但找不到。我想知道是否有人能帮我指出正确的方向。 我会使用 Elasticsearch 作为项目中的主数据存储。我想对所有映射和配置更改/数据导入/数据升级脚本进行版本控制,这些脚本是我在项目中开发新模块时运行的。 过去,我使用Flyway或Liquibase等数据库版本控制工具。 有没有任何框架/脚本或方法可以与ES一起使用来实现类似的目标? 有没有人
我正在尝试使用flyway,但是我有一个不知道如何解决的情况: 当我应用STANDARD脚本时,我必须运行V1.0__create_table_TAB1.sql当我将脚本应用到customer1时,TAB1表是一个视图,因此我必须运行V1.0__creaate_view_TAB1_to_schema1.sql。 实际: 应始终应用sql_common文件夹的脚本,但不应应用 V1.0(创建表 TA
我目前正在评估Flyway和Liquibase在我们现有的大型项目中的使用情况。这两种方法似乎都适合sql迁移,但不幸的是,我们还需要偶尔进行文件系统迁移(比如应用xsl转换)。 我看不出为什么Flyway在技术上不能以java迁移的名义做到这一点,但我想知道,尝试这样做是否是在一个方孔中安装一个圆钉-也许还有另一个工具可以跟踪文件系统相关的东西?不过,我确实很喜欢只使用一个迁移工具来完成所有任务
当impl jar的时,我收到了这个错误 org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/boot/autocigure/flyway/flywayautociguration$flywayconfiguration.class]中定义的名为“flyway初始化器”的bean时出
在我的Spring Boot项目中,我正在尝试为MongoDb实现一个数据库迁移,我对MongoDb和mongock非常陌生<下面是关于错误的一些详细信息,以及到目前为止我所做的工作: > 我的pom有以下依赖项: 我已经用“ 并将少量数据插入DB。 在application.properties文件中添加以下行 蒙哥克。更改日志扫描包=com。产品目标配置 现在,当我构建项目“mvn clean
我正在尝试配置Spring Boot和Flyway,以便使用Spring Boot 2.2.6和Flyway 5.2.3对两个不同的数据源应用单独的迁移。 主要数据源: 第二个数据源: 数据源连接属性: Flyway迁移: 目录结构: 迁移脚本仅正确应用于数据库。 问题是,和中的脚本被应用到数据库,而只应用主目录中的脚本。 如何配置Flyway以仅将目录中的迁移脚本应用于数据库?