配置MongoDB复制集
安装Solr5.3
安装Python2.7
安装pip
安装mongo-connector
方法一:使用pip安装
1
|
pip install mongo-connector
|
安装到了python的默认包目录下:
/usr/local/lib/python2.7/site-packages
方法二:安装为服务
1. 去https://github.com/mongodb-labs/mongo-connector/archive/master.zip下载mongo-connector-master.zip。
2. 解压缩进入目录。
1
2
|
unzip mongo-connector-master.zip cd mongo-connector-master
|
3. 编辑配置文件。
1
|
vi config.json
|
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://blog.mongodb.org/post/29127828146/introducing-mongo-connector
https://github.com/mongodb-labs/mongo-connector/wiki/Installation
https://github.com/mongodb-labs/mongo-connector/wiki/Usage-with-Solr
https://loutilities.wordpress.com/2012/11/26/complementing-mongodb-with-real-time-solr-search/