1.关于其他数据库与es同时使用的疑问
1.1能否用es代替mysql
感觉同步是指两边一起插入数据库,用其他数据库作为存储,elasticsearch作为搜索引擎。
即把其他数据库的数据同步到elasticsearch
1.2新增数据时,插入到mysql中,需不需要同时插入到es中?搜索时直接返回es搜索的结果,还是需要根据es的结果中的id,回mysql中重新查一遍?如果不用回mysql中查,那么mysql还有什么用,直接存es中,查也使用es,mysql难道只是做备份的吗?
(24 封私信 / 80 条消息) ElasticSearch在项目中具体怎么用? - 知乎 (zhihu.com)
1.3 kafka和redis
(24 封私信 / 80 条消息) kafka解决了什么问题? - 知乎 (zhihu.com)
1.4 能不能把一个索引当成库,然后在里面建表(写其他mapping)
打咩。由类型和映射可知,索引中的字段映射是扁平化的,如果两个类型的字段集完全不相同,索引中有一般数据会是空的,导致性能问题,这时最好使用两个单独的索引。
这里更详细解释了Elasticsearch 6.0 一个索引只允许有一个type-CSDN博客
要注意的是这是针对不同type的分析,7.0之后已经不再区分type
【对于插入的不同映射的文档】动态映射会让映射变得臃肿,可能影响内存,但是对于性能的影响有多大暂时不了解Elasticsearch映射——映射到底设置了什么?-CSDN博客
1.5 MongoDB同步
mongo-connector实现MongoDB与elasticsearch实时同步深入详解铭毅天下(公众号同名)-CSDN博客mongo-connector
2.mysql连接es
总体教程以及选型教程| canal 实现Mysql到Elasticsearch实时增量同步-CSDN博客
2.1下载canal并运行
安装教程超详细的Canal入门,看这篇就够了-CSDN博客_canal
注:上面教程中需要修改bat的部分已经不需要修改即可成功
Releases · alibaba/canal (github.com)下载developer版本1.1.5
canal端口修改在conf/canal.properties
2.2配置client-adapter(连接mysql和canal)
下载adapter版本1.1.5,启动为springboot项目
Sync RDB · alibaba/canal Wiki (github.com)
修改总配置
配置es
Sync ES · alibaba/canal Wiki (github.com)
运行之后没能真的同步,估计有配置报错,但是大概知道同步是怎么回事了
其他配置
-
在canal.properties定义了canal.destinations后,需要在canal.conf.dir对应的目录下建立同名的文件
比如:canal.destinations = example1,example2
这时需要创建example1和example2两个目录,每个目录里各自有一份instance.properties.
-
canal及adapteryml配置详解Canal——增量同步MySQL数据到ElasticSearch - 曹伟雄 - 博客园 (cnblogs.com)