基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具(Mongo2Es)
基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具
支持一对一,一对多,多对一和多对多的数据传输方式.
- 一对一 - 一个mongodb的collection对应一个elasticsearch的index之间的数据同步
 - 一对多 - 一个mongodb的collection对应多个elasticsearch的index之间的数据同步
 - 多对一 - 多个mongodb的collection对应一个elasticsearch的index之间的数据同步
 - 多对多 - 多个mongodb的collection对应多个elasticsearch的index之间的数据同步
 
环境版本
elasticsearch:v6.1.2
mongodb: v3.4.9
netcore: v2.1.101
这个工具是干什么的
Mongo2Es是用来保持你的mongoDB collections和你的elasticsearch index之间的数据实时同步.它是用mongo oplog来监听你的mongdb数据是否发生变化,无论是增删改查它都会及时反映到你的elasticsearch index上.在使用本工具之前你必须保证你的mongoDB是符合replica结构的,如果不是请先正确设置之后再使用此工具.
如何使用
Download from GitHub
cd src
dotnet publish --framework netcoreapp2. -o ./published
如何启动
dotnet Mongo2Es.dll --port {port for web manage} --mongo {mongourl for config}
显示的结果
- 页面管理
 

- 执行过程
 


- mongodb里面的数据
 


- elasticsearch里面的数据
 

License
The MIT License (MIT). Please see LICENSE for more information.
Reference&Study
- mongo-connector
 - mongo-es
 - node-mongodb-es-connector
 - MongoDB Administration Commands > listCollections
 - MongoDB Driver Admin Quick Tour
 - MongoDB Driver Using a Tailable Cursor
 - Elasticsearch Reference
 - Elasticsearch.Net - Low level client
 - NLog.MongoDB.NetCore
 
基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具(Mongo2Es)的更多相关文章
- 基于nodejs将mongodb的数据实时同步到elasticsearch
		
一.前言 因公司需要选用elasticsearch做全文检索,持久化存储选用的是mongodb,但是希望mongodb里面的数据发生改变可以实时同步到elasticsearch上,一开始主要使用ela ...
 - sersync基于rsync+inotify实现数据实时同步
		
一.环境描述 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 主服务器A:192.168.1.23 从服务器B:192. ...
 - mysql数据实时同步到Elasticsearch
		
业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理.本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供 ...
 - 基于Spark Streaming + Canal + Kafka对Mysql增量数据实时进行监测分析
		
Spark Streaming可以用于实时流项目的开发,实时流项目的数据源除了可以来源于日志.文件.网络端口等,常常也有这种需求,那就是实时分析处理MySQL中的增量数据.面对这种需求当然我们可以通过 ...
 - rsync+inotify 实现服务器之间目录文件实时同步(转)
		
软件简介: 1.rsync 与传统的 cp. tar 备份方式相比,rsync 具有安全性高.备份迅速.支持增量备份等优点,通过 rsync 可 以解决对实时性要求不高的数据备份需求,例如定期的备份文 ...
 - 基于OGG的Oracle与Hadoop集群准实时同步介绍
		
版权声明:本文由王亮原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/220 来源:腾云阁 https://www.qclou ...
 - 基于Canal和Kafka实现MySQL的Binlog近实时同步
		
前提 近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台.优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存.更新或者软删除)到一个另 ...
 - 基于Intent实现Activity与Activity之间的数据传递,实现二个Activity的跳转功能
		
在讲参数传递之前,先讲下intent的定义: Intent intent = new Intent(MainActivity.this,SecondActivity.class); //这是显式定义 ...
 - elasticsearch+logstash_jdbc 实现mysql数据实时同步至es
		
jdk安装1.8版本,es.ls.ik.kibana版本一致我这里使用的6.6.2版本 安装es tar xf elasticsearch-6.6.2.tar.gz mv elasticsearch- ...
 
随机推荐
- window 环境变量保存位置在哪里?
			
注册表-regedit.exe 用户变量: HKEY_CURRENT_USER\Environment 系统变量: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe ...
 - Springdata mongodb 版本兼容 引起 Error [The 'cursor' option is required, except for aggregate with the explain argument
			
在Spring data mongodb 中使用聚合抛出异常 mongodb版本 为 3.6 org.springframework.dao.InvalidDataAccessApiUsageExce ...
 - Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记
			
Week1: Machine Learning: A computer program is said to learn from experience E with respect to some ...
 - HashMap并发导致死循环 CurrentHashMap
			
为何出现死循环简要说明 HashMap闭环的详细原因 cocurrentHashMap的底层机制 为何出现死循环简要说明 HashMap是非线程安全的,在并发场景中如果不保持足够的同步,就有可能在执行 ...
 - jquery 图片转为base64
			
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
 - 利用 jQuery 来验证密码两次输入是否相同
			
html <div class="row"> <div class="panel panel-info"> <div class= ...
 - 小说接入UC浏览器内核技术对话(二)
			
质辛@灿岩 质辛跟我们说一下那个删除文件的逻辑吧质辛@灿岩 应该不是删除cache下所有文件吧?质辛质辛@智鹰 提供一下我们的临时文件完整路径给 灿岩吧质辛@智鹰 是负责我们ucsdk的 技术对 ...
 - R语言︱数据规范化、归一化
			
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:规范化主要是因为数据受着单位的影响较 ...
 - jQuery提示parsererror错误解决办法
			
jquery来处理ajax,用到了json.但是很诧异,jquery的ajax回调时一直调用了error函数(一直提示parsererror异常),success函数一次没执行过 $.ajax({ t ...
 - cookie的设置和获取
			
// 创建cookiefunction setCookie(name, value, expires, path, domain, secure) { var cookieText = encodeU ...