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

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

在往数据库中增加一条数据的同时,向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

你可能感兴趣的:(mysql数据同步到es中)