开发者社区> 问答> 正文

单表映射,修改表的数据不会同步更新么,只支持增加么

es映射配置: dataSourceKey: defaultDS destination: instanceB groupId: esMapping: _index: testorder _type: default _id: _id pk: id sql: "select a.id as _id, a.id ,a.title from project a" etlCondition: "" commitBatch: 3000

当更新这个表的数据,日志打印如下,但是不会更新ES。 2019-04-25 15:57:11.974 [pool-2-thread-1] DEBUG c.a.otter.canal.client.adapter.es.service.ESSyncService - DML: {"data":[{"title":"水杯123456","updated_at":1556179029000}],"database":"dev","destination":"instanceB","es":1556179029000,"groupId":null,"isDdl":false,"old":null,"pkNames":[],"sql":"","table":"project","ts":1556179031841,"type":"UPDATE"} Affected indexes: testorder

原提问者GitHub用户hecyxy

展开
收起
数据大拿 2023-05-04 18:26:36 95 0
2 条回答
写回答
取消 提交回答
  • 不要配置pk!!!

    原回答者GitHub用户rewerma

    2023-05-05 10:50:45
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    如果你使用canal的es adapter进行单表映射,当修改表数据时,ES是会同步更新的。根据你提供的信息,可能是以下几个原因导致ES没有同步更新:

    1.检查一下ES集群是否正常运行,是否存在索引testorder,是否存在异常。

    2.检查一下canal adapter的配置文件是否正确,特别是destination、groupId、etlCondition等配置项是否正确。

    3.检查一下canal adapter的日志,看是否有异常信息或报错信息。

    4.检查一下同步的数据是否符合映射规则,例如主键是否匹配,字段类型是否匹配等。

    如果排除以上原因仍未解决问题,可以尝试重新启动canal和ES,或者升级canal和ES的版本。

    2023-05-05 09:56:25
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载