Elasticsearch增量是靠什么做判断?我做过实验,将目标库删除,或更改目标库,会覆盖。没用好,感觉太危险了,仅仅用过logstash,因为我就迁移一次,不做增量,阿里云版本低,你的版本高,有一个兼容属性可以设置。
Elasticsearch增量是靠什么做判断?我做过实验,将目标库删除,或更改目标库,会覆盖。没用好[阿里云检索分析服务 Elasticsearch版]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
Elasticsearch增量是靠什么做判断?我做过实验,将目标库删除,或更改目标库,会覆盖。没用好,感觉太危险了,仅仅用过logstash,因为我就迁移一次,不做增量,阿里云版本低,你的版本高,有一个兼容属性可以设置。
Elasticsearch 的增量数据迁移通常是通过 Logstash 的 Elasticsearch 输出插件实现的。Logstash 会将增量数据从源数据源捕获并发送到目标 Elasticsearch 集群中。目标 Elasticsearch 集群会根据数据的状态来判断是否为增量数据。当目标 Elasticsearch 集群的状态比源数据源的状态新时,Logstash 会将源数据源中已经存在于目标 Elasticsearch 集群中的数据忽略掉,从而实现了增量数据迁移的功能。
如果您将目标库删除或更改目标库,则会覆盖原有数据。这是因为 Logstash 将数据发送到目标 Elasticsearch 集群中时,会根据数据的 ID 进行判断是否已经存在于目标集群中。如果数据的 ID 已经存在,则认为是增量数据,否则认为是全新数据。因此,如果您删除了目标库或更改了目标库,那么所有数据的 ID 都会被删除或更改,导致 Logstash 发送的数据都被认为是全新数据,从而覆盖了原有数据。
如果您想要实现增量数据迁移,建议使用 Elasticsearch 的 Reindex API 来进行数据迁移,而不是直接覆盖目标库。Reindex API 可以将源索引中的数据复制到目标索引中,并支持增量复制,即只复制源索引中在目标索引中不存在的数据。这样可以避免覆盖原有数据,实现增量数据迁移的功能。
你用过哪几种迁移方式,反向的不让你走,此回答整理自钉群“Elasticsearch技术社区2群”