mysql数据同步到es中_如何使mysql中的数据同步到es中?

本文介绍了四种将MySQL数据同步到Elasticsearch的方法,包括直接插入、使用Celery定时任务、Django信号和Go服务。重点讨论了通过MySQL binlog实现实时同步,并详细解释了go-mysql-elasticsearch项目的配置和同步规则,如表映射、字段自定义和过滤。
摘要由CSDN通过智能技术生成

方案一:(同步操作,代码侵入性比较高)

在往数据库中增加一条数据的同时,向es中也插入一条

Books.objects.create()

向es中插入一条数据

方案二:使用celery起一个定时任务

在用户低峰的时候,执行定时任务(比如每天晚上00:00),把当天新增的数据查询出来并处理成Json格式存到es中。

向es中插入一条

方案三:使用django信号

-Books.objects.create()

在插入后触发某个信号(post_save) # 具体看django内置信号总结

方案四:单独做一个服务做同步

go mysql elasticsearch是一项将mysql数据自动同步到elasticsearch的服务。它首先使用mysqldump获取源数据,然后用binlog增量同步数据。

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序

# 1. Mac 下编译 Linux 和 Windows 64位可执行程序

CGO_ENABLED=0

GOOS=linux

GOARCH=amd64

go build main.go

CGO_ENABLED=0

GOOS=windows

GOARCH=amd64

go build main.go

//CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

# 2. Linux 下编译 Mac 和 Windows 64位可执行程序

CGO_ENABLE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值