使用mongo-connector实现mongoDB 和solr 同步数据

mongoDB 和solr 实现同步数据 需要通过中间插件的形式进项同步。实现方式使用mongo-connector。

版本说明

centOS : 7.4
mongodb : 3.4
mongo-connector : 2.5.2
python : 2.7


mongo-connector(github地址)

  1. mongodb副本集模式配置
    说明:一下方法只是测试命令使用,连接其他语言对应不同的方式。

    1、关闭运行的mongodb实例
    2、创建mongodb实例

    //例如 不同的安装方式启动方式不同 如下方法为在线安装(参考centOS 安装mongodb)
    mongod --dbpath=/root/motui/data --port 27018 --replSet rs

    3、启动副本集

    rs.initiate()

     rs.status()   

    使用mongo-connector实现mongoDB 和solr 同步数据_第1张图片

    rs.conf()

    使用mongo-connector实现mongoDB 和solr 同步数据_第2张图片

    4、可以使用add方法添加副本集的成员

    rs.add(HOST_NAME:PORT)

    5、判断当前运行的mongodb服务是否为主节点

    db.isMaster()

    使用mongo-connector实现mongoDB 和solr 同步数据_第3张图片

  2. 安装mongo-connector

    //pip安装
    pip install mongo-connector
    
    //git安装进入自定义目录
    git clone https://github.com/mongodb-labs/mongo-connector.git
    cd mongo-connector
    python setup.py install

    安装为Linux服务(参考官方文档)

  3. 安装solr-doc-manager

    //pip安装
    pip install solr-doc-manager
    
    //git安装
    git clone https://github.com/mongodb-labs/solr-doc-manager
    cd solr-doc-manager
    python setup.py install

    solr-doc-manager 官方文档

  4. 配置solr的core

    1、修改managed-schema

    id  
    //修改为
    _id
    
    
    //添加
    "_id" type="string" indexed="true" stored="true" />  
    "_ts" type="long" indexed="true" stored="true" />  
    "ns" type="string" indexed="true" stored="true"/> 
    
    //注释原有的
    "id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

    2、修改solrconfig.xml

    //存在则打开注释,不存在添加
    "/admin/luke" class="org.apache.solr.handler.admin.LukeRequestHandler" />

    访问如下地址,存在JSON数据则成功

    http://solr_host:8080/solr/core名称/admin/luke?show=schema&wt=json
  5. 连接配置
    进入mongo-connector目录

    mongo-connector  --auto-commit-interval=0 -m mongo_host:27018 -t http://solr_host:8080/solr/core名称 -d solr_doc_manager
  6. 连接mongodb进行插入操作

    db.c.insert({"name": "Mongo Connector test"})

    solr实时查询结果如下
    使用mongo-connector实现mongoDB 和solr 同步数据_第4张图片

你可能感兴趣的:(MongDB,Solr)