Mongo-connector集成MongoDB到Solr实现增量索引
配置MongoDB复制集
参考:《部署一个用于测试和开发的复制集》
安装Solr5.3
参考:《在CentOS下安装Solr5.3》
安装Python2.7
参考:《在CentOS下安装Python2.7》
安装pip
参考:《在CentOS下安装pip》
安装mongo-connector
方法一:使用pip安装
1
pip install mongo-connector
安装到了ython的默认包目录下:
/usr/local/lib/python2.7/site-packages
方法二:安装为服务
1. 去https://github.com/mongodb-labs/ ... /archive/master.zip 下载mongo-connector-master.zip。
2. 解压缩进入目录。
1
2
unzip mongo-connector-master.zip
cd mongo-connector-master
3. 编辑配置文件。
4. 安装为服务。
1
python setup.py install_service
在/etc/init.d下创建了mongo-connector服务,并拷贝config.json文件到/etc/mongo-connector.json。
卸载mongo-connector服务
1
python setup.py uninstall_service
它将移除/etc/init.d/mongo-connector和/etc/mongo-connector.json
查看服务状态
1
service mongo-connector status
配置Solr
在Solr数据目录/data/solr/data/下有Solr配置文件solr.xml
创建core
1
su - solr -c "/usr/local/solr/solr/bin/solr create -c card -n data_driven_schema_configs"
生成了文件夹/data/solr/data/card,在/data/solr/data/card/conf目录下是card的配置目录,可以配置同义词、停止词。
配置solrconfig.xml
1. 确保启用了LukeRequestHandler
以下行应用出现在solrconfig.xml文件中。
1
<requestHandler name="/admin/luke" class="org.apache.solr.handler.admin.LukeRequestHandler" />
2. 配置硬提交(刷新到硬盘上的频率)和软提交(提交到内存中的频率)
在solrconfig.xml文件中配置<autoCommit>和<autoSoftCommit>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<autoCommit>
<maxTime>300000</maxTime>
<maxDocs>10000</maxDocs>
<openSearcher>true</openSearcher>
</autoCommit>
<!-- softAutoCommit is like autoCommit except it causes a
'soft' commit which only ensures that changes are visible
but does not ensure that data is synced to disk. This is
faster and more near-realtime friendly than a hard commit.
-->
<autoSoftCommit>
<maxDocs>1000</maxDocs>
<maxTime>60000</maxTime>
</autoSoftCommit>
配置schema.xml
1. Mongo Connector存储元数据在每个文档中帮助处理回滚。为了支持这些数据,你需要添加如下信息到你的schema.xml中:
1
2
<field name="_ts" type="long" indexed="true" stored="true" />
<field name="ns" type="string" indexed="true" stored="true"/>
2. 在schema.xml中配置配置<uniqueKey>、<field>
启动mongo-connector
方法一:以命令行启动
1
nohup sudo mongo-connector -m localhost:27019 -t http://localhost:8983/solr/card -o oplog_progress.txt -n example.card -u _id -d solr_doc_manager > mongo-connector.out 2>&1
方法二:以服务启动
1
service mongo-connector start
Solr删除全部索引
http://192.168.11.52:8983/solr/c ... elete%3E%3Cquery%3E *:*%3C/query%3E%3C/delete%3E&stream.contentType=text/xml;charset=utf-8&commit=true
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com