您好,登錄后才能下訂單哦!
Mongo-connector集成MongoDB到Solr實現增量索引
配置MongoDB復制集
參考:《部署一個用于測試和開發的復制集》
安裝Solr5.3
參考:《在CentOS下安裝Solr5.3》
安裝Python2.7
參考:《在CentOS下安裝Python2.7》
安裝pip
參考:《在CentOS下安裝pip》
安裝mongo-connector
方法一:使用pip安裝
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. 解壓縮進入目錄。
unzip mongo-connector-master.zip cd mongo-connector-master
3. 編輯配置文件。
vi config.json
4. 安裝為服務。
python setup.py install_service
在/etc/init.d下創建了mongo-connector服務,并拷貝config.json文件到/etc/mongo-connector.json。
卸載mongo-connector服務
python setup.py uninstall_service
它將移除/etc/init.d/mongo-connector和/etc/mongo-connector.json
查看服務狀態
service mongo-connector status
配置Solr
在Solr數據目錄/data/solr/data/下有Solr配置文件solr.xml
創建core
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文件中。
<requestHandler name="/admin/luke" class="org.apache.solr.handler.admin.LukeRequestHandler" />
2. 配置硬提交(刷新到硬盤上的頻率)和軟提交(提交到內存中的頻率)
在solrconfig.xml文件中配置<autoCommit>和<autoSoftCommit>
<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中:
<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
方法一:以命令行啟動
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
方法二:以服務啟動
service mongo-connector start
Solr刪除全部索引
http://192.168.11.52:8983/solr/card/update/?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E&stream.contentType=text/xml;charset=utf-8&commit=true
參考:
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/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。