如何使用 INFINI Gateway 增量迁移 ES 数据

之前介绍过如何使用 INFINI Gateway迁移数据,但是迁移的是整个索引的全量数据。如果我只想迁移符合查询条件的数据,该怎么做呢?别小看这个需求,因为有了这个功能再结合时间条件检索,我们就能实现增量数据迁移,当然前提是数据有时间字段。

话不多说,我们来 demo 。

测试环境

|---------------|--------|
| 软件 | 版本 |
| Easysearch | 1.13.1 |
| Elasticsearch | 7.10.2 |
| Gateway | 1.29.8 |

迁移实战

迁移步骤与之前一样,只是 Gateway 配置里多了查询条件。

pipeline 部分我们增加 query_dsl 写入过滤条件。

复制代码
pipeline:
  - name: source_scroll
    auto_start: true
    keep_running: false
    processor:
      - es_scroll:
          slice_size: 1
          batch_size: 5000
          indices: "nginx"
          elasticsearch: source
          output_queue: source_index_dump
          partition_size: 1
          scroll_time: "5m"
          query_dsl: "{ \"query\": {  \"bool\": { \"filter\": [  {   \"range\": {  \"timestamp\": {   \"gte\": \"2024-11-16T23:59:50+08:00\",   \"lte\": \"2024-11-16T23:59:59+08:00\"  }   }  } ]  } }}"

我们先看看源端 nginx 索引全量数据有多少,297482 条。

再看看 nginx 索引中符合查询条件的文档有多少,21 条。

也就是说这次我们只会迁移 21 条数据,运行 Gateway 进行"增量"数据迁移。

迁移完成。结合查询条件可以使 INFINI Gateway 更加灵活,当然 Gateway 还有更多实用功能,欢迎大家查阅官方文档

相关推荐
数据库小学妹2 分钟前
关系型数据库核心原理拆解:SQL解析、事务引擎、存储结构全链路分析
数据库·经验分享·sql·数据库架构·dba
海市公约3 分钟前
Redis主从复制全量同步七步时序与命令传播机制详解
数据库·redis·缓存·主从复制·高可用架构·全量同步
我是唐青枫9 分钟前
Java JdbcTemplate 实战指南:用 Spring 轻量完成数据库增删改查
java·数据库·spring
梓䈑19 分钟前
【MySQL】MySQL安装 和 配置
数据库·mysql
KaMeidebaby26 分钟前
卡梅德生物技术快报|peg 修饰调控 MXene/WS2 异质结,氨气传感器制备与机理研究
大数据·前端·人工智能·架构·spark·新浪微博
ydyd2026042128 分钟前
设备管理应用推荐2026深度测评!
大数据·人工智能·机器学习
小马爱打代码31 分钟前
Redis 和 MySQL 双写一致性:延迟双删、读写锁、MQ、Canal 怎么选?
数据库·redis·mysql
志栋智能35 分钟前
超自动化巡检:降低运维总成本(TCO)的有效路径
大数据·运维·网络·人工智能·自动化
LONGZETECH38 分钟前
软硬协同+故障注入:无人机仿真维修与操控仿真底层算法逻辑拆解
大数据·c语言·算法·3d·unity·无人机