mysql读数据入库es_如何使mysql中的数据同步到es中?

本文介绍了四种将MySQL数据同步到Elasticsearch的方法:1) 在数据插入MySQL时同时插入ES;2) 使用Celery定时任务;3) 利用Django信号;4) 使用go-mysql-elasticsearch服务。重点讲解了go-mysql-elasticsearch的实现,包括MySQL binlog、全量dump、自定义同步规则、字段映射和过滤。该服务提供了一种方便的数据同步方式。
摘要由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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值