2012-11-24 56 views
7

我最近開始使用MongoDB和Apache Solr。我使用MongoDB作爲數據存儲,我希望Apache Solr爲我的應用程序中的搜索功能的數據創建索引。在MongoDB和Apache Solr之間同步數據的簡單方法

經過一番研究後發現,基本上有兩種方法可以在MongoDB和Solr之間同步數據。使用Solr的DataImportHandler

1) -

爲此,我使用SolrMongoImporter由詹姆斯創造,隨後在github

我能成功運行導入處理程序和Solr確定的ImportHandler他的教程,但它不是將任何文檔導入solr。每次它說更新文件= 0。

2)然後我嘗試切換到MongoDB端,看是否有任何東西存在,我發現 MongoDBConnector由10gen提供。

當我按照說明操作並運行連接器時,它嘗試將大量文檔發佈到Solr,並提供以下輸出。

2012-11-24 15:15:20,665 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds. 
2012-11-24 15:15:21,674 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.009 seconds. 
2012-11-24 15:15:22,683 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds. 
2012-11-24 15:15:23,694 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds. 
2012-11-24 15:15:24,702 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds. 
2012-11-24 15:15:25,711 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds. 
2012-11-24 15:15:26,722 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds. 

但Solr沒有數據。

我想知道哪種方法適合你們,是否有關於MongoDB和Solr集成的良好教程。

此外,我正在尋找MongoDB和solr之間的實時同步,即一旦任何產品添加到我的mongodb中,我希望它在solr索引中更新並反映在搜索結果中。

我正在使用MongoDB 2.0.4和Solr 3.6.1。

+0

即使它不是java,你可能會在這個[link](http://derickrethans.nl/mongodb-and-solr.html)中找到一些靈感。 – Eric

回答

1

你設置的副本集模式? http://docs.mongodb.org/manual/reference/replica-configuration/

在開始時,我得到了與您所描述的相同的輸出,雖然Solr中沒有數據。之後,我設置了複製模式,似乎創建了oplog文件,並且mongodbconnector與SOLR正確同步。對我來說工作得非常好。

+0

如果您解釋如何配置複製模式以使其工作,它將會很有幫助。 – shivadarshan

相關問題