是否可以将数据从mongoDB复制到Solr?我正在使用ruby + sinatra + mongoid。或者我需要通过rsolr与after_create,after_update等挂钩?
答案 0 :(得分:12)
10gen引入了Mongo Connector,它允许将数据推送到Solr(以及其他)
http://blog.mongodb.org/post/29127828146/introducing-mongo-connector
从他们的例子:
python mongo_connector.py -m localhost:27217 -t http://localhost:8080/solr
答案 1 :(得分:2)
有些人将Solr与MongoDB集成在一起,应用程序代码监听MongoDB的“oplog”。我建议在与MongoDB完全分离的应用程序上实现一些东西。如果你的应用程序在MongoDB中插入了一些内容,那么就会触发插入到Solr等中。
Tailabled游标可能是一个选项
http://jwage.com/2011/03/16/mongodb-tailable-cursors/
但它们只适用于上限集合。
答案 2 :(得分:2)
我不确定是否为时已晚。 mongo-jdbc不适用于Apache Solr的DIH,你需要扩展它。我已将其扩展,您可以在此处使用它:https://github.com/hrishik/solr-mongodb-dih
您可以直接将其与Apache Solr一起使用。在这种情况下,DIH配置文件将如下所示:
<dataConfig>
<dataSource name="mongod" type="JdbcDataSource" driver="com.mongodb.jdbc.MongoDriver" url="mongodb://localhost/exampledb"/>
<document>
<entity name="nameage" dataSource="mongod" query="select name, price from grocery">
<field column="name" name="name"/>
<field column="name" name="id"/>
<!-- other fileds -->
</entity>
</document>
</dataConfig>
答案 3 :(得分:1)
使用https://github.com/erh/mongo-jdbc中的JDBC驱动程序配置数据导入处理程序的JDBC风格 - 它支持select,insert,update和drop。希望这有帮助!