Welcome to the Solr Mongo Importer project. This project provides MongoDb support for the Solr Data Import Handler.
- Retrive data from a MongoDb collection
- Authenticate using MongoDb authentication
- Map Mongo fields to Solr fields
- Delta import available
- MongoDataSource - Provides a MongoDb datasource
- database (required) - The name of the data base you want to connect to
- host (optional - default: localhost)
- port (optional - default: 27017)
- username (optional)
- password (optional)
- MongoEntityProcessor - Use with the MongoDataSource to query a MongoDb collection
- collection (required)
- query (required)
- deltaQuery (optional)
- deltaImportQuery (optional)
- MongoMapperTransformer - Map MongoDb fields to your Solr schema
- mongoField (required)
-
Firstly you will need a copy of the Solr Mongo Importer jar.
- Download the latest JAR from github
- Build your own using the ant build script you will need the JDK installed as well as Ant and Ivy
-
You will also need the [Mongo Java driver JAR] (https://github.com/mongodb/mongo-java-driver/downloads)
-
Place both of these jar's in your Solr libaries folder ( I put mine in 'dist' folder with the other jar's)
-
Add lib directives to your solrconfig.xml
<lib path="../../dist/solr-mongo-importer-{version}.jar" />
<lib path="../../dist/mongo.jar" />
Here is a sample data-config.xml showing the use of all components
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource name="MyMongo" type="MongoDataSource" database="Inventory" />
<document name="Products">
<entity processor="MongoEntityProcessor"
query="{'Active':1}"
collection="ProductData"
datasource="MyMongo"
deltaQuery="{'UpdateDate':{$gt:{$date:'${dih.last_index_time}'}}}"
deltaImportQuery="{'_id':'${dih.delta._id}'}"
transformer="MongoMapperTransformer" >
<field column="title" name="title" mongoField="Title"/>
<field column="description" name="description" mongoField="Long Description"/>
<field column="brand" name="brand" />
</entity>
</document>
</dataConfig>