在MongoDB和Apache Solr之间同步数据的简便方法

Raj*_*ula 7 java solr mongodb

我最近开始使用MongoDB和Apache Solr.我使用MongoDB作为数据存储,我希望Apache Solr为我的应用程序中的搜索功能创建数据索引.

经过一些研究后我发现,基本上有两种方法可以在MongoDB和Solr之间同步数据.

1)使用Solr DataImportHandler -

为此,我使用了由james创建的SolrMongoImporter,并在github上关注了他的教程

我能够成功运行Import Handler并且Solr识别出ImportHandler,但它没有将任何文档导入solr.每次它说更新的文件= 0.

2)然后我尝试切换到MongoDB端,看看是否存在任何东西,我发现 10gen提供了MongoDBConnector.

当我按照说明操作并运行连接器时,它会尝试将大量文档发布到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.
Run Code Online (Sandbox Code Playgroud)

但Solr没有数据.

我想知道哪种方法对你们有用,有没有关于MongoDB和Solr Integration的好教程.

另外,我正在寻找MongoDB和solr之间的实时同步,即只要将任何产品添加到我的mongodb,我希望它在solr索引中更新并反映在搜索结果中.

我使用的是MongoDB 2.0.4和Solr 3.6.1.

the*_*eon 2

Hadoop 是创建 SOLR 索引的一个选项。我还没有亲自做过这件事,但从etsy 等人那里听说过。

在lucene Revolution 的这门课程中,他们讨论了使用 hadoop 来更新某些 SOLR 核心中的索引。不幸的是,我认为课程材料不是公开的。

这次演讲中,演讲者谈到了 mongo/hadoop 支持。

其他相关链接: