一、准备Transporter
最简单的方式就是去github下载已经编译好的可执行文件
下载Transporter
二、MongoDB准备
1、开启副本集,否则没有oplog,就无法后续工作了。
2、准备测试数据:
小编准备了两个表的数据,一个是商品表,一个是类别表。
准备两个表的目的是为了演示数据同步到 Elasticsearch后,生成父子关联文档。
三、Elasticsearch准备
1、创建索引
创建索引
setting设置索引;number_of_replicas:副本数量;number_of_shards:分片数量;refresh_interval:刷新周期;mapping:设置映射;注意,在子文档中要配置_parent参数,type:父文档的类型名称。
可以借助 postman 工具,将上述数据以 PUT 方式提交到 Elasticsearch,创建索引index_category_and_goods。
2、创建pipeline文件
使用 transporter 执行文件,创建 pipeline 文件模板。
创建 pipeline 模板
修改模板文件,分别另存为:
pipeline_cl_category.js ;pipeline_cl_goods.js;
pipeline_cl_category.js
pipeline_cl_goods.js
参数说明:
source 数据源,即mongo的collectionsink 目标,即 elasticsearch的索引Transform 传输规则,如:设置传输字段,别名,过滤数据等3、创建transform文件
创建 cl_category 的transform文件,文件名与对应的 pipeline 文件中指定的 filename 要一致。
transform_cl_category.js
创建 cl_goods 的 transform 文件,文件名与对应的 pipeline 文件中指定的 filename 要一致。
transform_cl_goods.js
四、数据同步
执行 transporter 的 run 命令,开始数据同步。
先同步父文档,商品类别表 cl_category
同步 cl_category
再同步子文档,商品表 cl_goods
同步 cl_goods
五、数据校验
ES中索引 index_category_and_goods,类型 cl_category 命中数 与 mongodb数据对比
ES中索引index_category_and_goods,类型 cl_goods 命中数 与 mongodb数据对比
结束
举报/反馈

传陆编程

127获赞 100粉丝
扎实的技术才是真正的核心竞争力
关注
0
0
收藏
分享