开发者社区 > 大数据与机器学习 > 检索分析服务 Elasticsearch版 > 正文

Elasticsearch增量是靠什么做判断?我做过实验,将目标库删除,或更改目标库,会覆盖。没用好

Elasticsearch增量是靠什么做判断?我做过实验,将目标库删除,或更改目标库,会覆盖。没用好,感觉太危险了,仅仅用过logstash,因为我就迁移一次,不做增量,阿里云版本低,你的版本高,有一个兼容属性可以设置。

展开
收起
真的很搞笑 2023-06-18 16:46:25 79 0
2 条回答
写回答
取消 提交回答
  • Elasticsearch 的增量数据迁移通常是通过 Logstash 的 Elasticsearch 输出插件实现的。Logstash 会将增量数据从源数据源捕获并发送到目标 Elasticsearch 集群中。目标 Elasticsearch 集群会根据数据的状态来判断是否为增量数据。当目标 Elasticsearch 集群的状态比源数据源的状态新时,Logstash 会将源数据源中已经存在于目标 Elasticsearch 集群中的数据忽略掉,从而实现了增量数据迁移的功能。

    如果您将目标库删除或更改目标库,则会覆盖原有数据。这是因为 Logstash 将数据发送到目标 Elasticsearch 集群中时,会根据数据的 ID 进行判断是否已经存在于目标集群中。如果数据的 ID 已经存在,则认为是增量数据,否则认为是全新数据。因此,如果您删除了目标库或更改了目标库,那么所有数据的 ID 都会被删除或更改,导致 Logstash 发送的数据都被认为是全新数据,从而覆盖了原有数据。

    如果您想要实现增量数据迁移,建议使用 Elasticsearch 的 Reindex API 来进行数据迁移,而不是直接覆盖目标库。Reindex API 可以将源索引中的数据复制到目标索引中,并支持增量复制,即只复制源索引中在目标索引中不存在的数据。这样可以避免覆盖原有数据,实现增量数据迁移的功能。

    2023-06-18 17:30:06
    赞同 展开评论 打赏
  • 你用过哪几种迁移方式,反向的不让你走,此回答整理自钉群“Elasticsearch技术社区2群”

    2023-06-18 17:28:27
    赞同 展开评论 打赏

阿里云检索分析服务Elasticsearch版兼容开源ELK功能,免运维全托管,提升企业数据检索与运维分析能力。

相关产品

  • 检索分析服务 Elasticsearch版
  • 热门讨论

    热门文章

    相关电子书

    更多
    阿里云Elasticsearch体系架构与特性解析 立即下载
    开源与云:Elasticsearch应用剖析 立即下载
    《Elasticsearch全观测解决方案》 立即下载