原文:https://blog.csdn.net/zwq912318834/article/details/78647580?locationNum=2&fps=1
python实现MongoDB数据同步到Elasticsearch
1. 背景
引用elasticSearch的百科:https://baike.baidu.com/item/elasticsearch/3411206?fr=aladdin
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful
web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。
关于Elasticsearch的基础教程,可以参考:http://blog.csdn.net/cnweike/article/details/33736429
总结:也就是说,如果想要将mongodb中的数据更好的展示在前端,那么Elasticsearch将是一个非常好的选择。
2. 环境
python 3.6.1
系统:win7
IDE:pycharm
Elasticsearch5.4.2
Java JDK
mongodb v3.2
mongodb可视化工具:mongobooster
3. 同步说明
第一步,打开mongoDB的服务:cmd下启动数据库mongod
–dbpath=f:/data,通过mongobooster查看确保启动成功。
第二步,打开Es服务:双击
E:\Elasticsearch5.4.2\bin\elasticsearch.bat,通过浏览器地址:localhost:9200
查看确保启动成功。
第三步,要确保执行code能访问到这两个数据库地址: es_url 和
mongo_url,他们在同一个网络,能够互通。
4. 启动相关服务
4.1. 启动mongoDB
mongod的安装:https://jingyan.baidu.com/article/f3e34a12ac10cef5eb653583.html
cmd下输入mongod
–dbpath=f:/data启动服务。(f:/data是数据的存放地址,而且已设置好环境变量)
进入mongobooster查看数据:
4.2. 启动elasticsearch
elasticsearch 需要Java