Is it possible to replicate data from mongoDB to Solr? I'm using ruby + sinatra + mongoid. Or i need to make hooks with after_create, after_update and so on through rsolr?
4 Answers
10gen introduced Mongo Connector, which allows to push data into Solr (among others)
http://blog.mongodb.org/post/29127828146/introducing-mongo-connector
From their example:
python mongo_connector.py -m localhost:27217 -t http://localhost:8080/solr

- 1,471
- 2
- 12
- 19
I am not sure whether its too late. The mongo-jdbc would not work with DIH of Apache Solr, you would need to extend it. I have extended it, and you can use it from here: https://github.com/hrishik/solr-mongodb-dih
You can directly use it with Apache Solr. In that case, DIH config file will look something like below:
<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>

- 131
- 1
- 4
Some people integrated Solr with MongoDB with application code listening to the "oplog" of MongoDB. I would recommend implementing something on the application completely decoupled from MongoDB. If you application inserts something into MongoDB then trigger an insertion into Solr etc.
Tailabled cursors might be an option
http://jwage.com/2011/03/16/mongodb-tailable-cursors/
but they only work with capped collections.
-
The Oplog itself is also a capped collection and as such, tailable. There are some samples of reading the oplog in the source for the Java Driver, which can be used to get started on a Solr plugin. – Brendan W. McAdams Apr 15 '11 at 16:17
Configure the JDBC flavour of the data import handler using the JDBC driver found at https://github.com/erh/mongo-jdbc -- it supports select, insert, update, and drop. Hope this helps!

- 33,938
- 5
- 80
- 91
-
unfortunately this git project is without a commit since the past 4 years. Is there an similar, actual project or an alternative way (while mongo-connector is not an alternative) – The Bndr Nov 28 '13 at 10:50