基于 canal 的 RDS Mysql 数据实时同步到 Es 服务器
阅读原文时间:2023年08月31日阅读:1

背景

考虑到我们的数据在密码变大,与数据分析的需求,前面我们是一直在使用 Sphinx 来做全文搜索。主要也是这块我们也没有更为核心的Sphinx 开发人员,从而我们在这块的使用上,一直都还是还有比较老的基于 coreseek 来处理中文分词技术。

现在这套也比较久没有继续更新维护了,从而我们现在必须要考虑使用新的技术来解决我们的全文查询的需求。

最开始我们也是考虑使用Lucene 来做我们的全文适应与分词技术的基础,毕竟这块我们在前期调研搜索引擎的使用,也是使用他做了些DEMO,前面为什么没有使用,主要也是考虑到他在中文分词上的处理效果不是太理想,时间大概是2009左右了吧。

canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 (来自 canal github)

当我们看到canal 的介绍后,我们其实就可以基于 canal 做大量与mysql 数据方面的操作了。具体的自己可以慢慢的遐想,今天我们主要是讲 我们这边的基于MySQL(rds) 的数据同步到 ES 服务器中。

建议读者

有 MySQL,ES,JAVA 方面的基础,毕竟在遇到问题后,如果没有一定的基础,可以会吧这个事情搞的太复杂。

参考

sphinx

Lucene

Canal doc

Canal常见问题

Canal常见问题解答