我有一个带有几个表的mysql数据库,我想将mysql数据迁移到ElasticSearch。通过批处理作业将整个数据库迁移到ES很容易。但是我应该如何从mysql实时更新ES。即如果在mysql中有更新操作,那么我应该在ES中执行相同的操作。 我研究了mysql binLog,它可以反映mysql的任何变化。但我必须将binLog解析为ES语法,我认为这真的很痛苦。谢谢! (与Solr相同的情况)
答案 0 :(得分:10)
现有项目可以获取您的binlog,将其转换并发送给Elasticsearch,您可以在以下位置查看:https://github.com/siddontang/go-mysql-elasticsearch
另一个是这个:https://github.com/noplay/python-mysql-replication。
但是,请注意,无论您选择哪种方式,在索引binlog之前预先创建索引和映射都是一种很好的做法。这使您可以更好地控制数据。
答案 1 :(得分:1)
答案 2 :(得分:0)
我想最好的选择是简单地使用名为 debezium 的 Kafka 连接插件,并使用 Mysql 连接器作为源,以及弹性搜索接收器连接器