现在基于 ES 做搜索,使用canal同步 mysql 的数据。
目前的做法是在 canal client 里处理 mysql 和 ES 的数据映射。有两个缺点:
网上找了一圈,基本都在说用 binlog 同步这个点,没有涉及到具体映射这层的处理。有人知道什么更好的方案或者点子吗?
1
mringg 2018-07-16 14:24:35 +08:00
binlog(row)->maxwell->kafka->logstash->elasticsearch
|
2
swordwinter OP @mringg 我去看看 maxwell 和 logstash 先。我的一个问题点就是带有业务逻辑的映射,是在 logstash 里处理吗?
|
3
mringg 2018-07-16 19:05:34 +08:00
@swordwinter 方便举个栗子么?
|
4
mmdsun 2018-07-16 19:41:10 +08:00 via Android
请问 MongoDB3.0 到 elasticseaech 1.7 有没有什么好的方案。今天折腾了一下午,发现 MongoDB import 命令导入 json 数据丢数据
|
5
swordwinter OP @mringg 比如,简单的情况: 商品的分类信息,要从分类表获取组装;复杂点的:商品是否参加某活动,通过活动规则计算后得出结果。不过我重新审视了下这个环节,业务层应该把这些需要计算得到的数据先落库,在同步到 ES 的环节无脑同步就好了。感谢!
|
6
swordwinter OP @mmdsun mongo 的没有处理过诶,网上看到这个[mongolastic]( https://github.com/ozlerhakan/mongolastic)试试?
|