I've configured my environment and I've downloading Solr 4.7
The idea is make an indexing my mongodb database. For this I've installed the mongo-connector like appear here:
https://github.com/10gen-labs/mongo-connector
running this commands:
git clone https://github.com/10gen-labs/mongo-connector.git
cd mongo-connector
python setup.py install
I've set the replica mongod --replSet myDevReplSet
And I've modified my schema.xml adding this lines:
<fields>
<field name="_id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="sex" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="email" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="phone" type="string" indexed="true" stored="true" required="true" multiValued="false" />
</fields>
<uniqueKey>_id</uniqueKey>
Modified too my solr-config.xml adding this three lines:
<lib dir="../../../contrib/dataimporthandler/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" />
<lib dir="../../../dist/mongo-java-driver-2.11.4.jar" />
Then my data-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource name="mongod" type="JdbcDataSource"
driver="com.mongodb.jdbc.MongoDriver"
url="mongodb://localhost:27017/db1"/>
<document>
<entity name="usuario" dataSource="mongod" query="select * from user">
<field column="_id" name="_id"/>
<field column="sex" name="sex"/>
<field column="email" name="email"/>
<field column="phone" name="phone"/>
<!-- other fileds -->
</entity>
</document>
</dataConfig>
But when I try use the /dataimport to index my database I've this error:
Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: com.mongodb.jdbc.MongoDriver Processing Document # 1
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:276)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:411)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:483)
at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:464)
Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: com.mongodb.jdbc.MongoDriver Processing Document # 1
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:416)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:329)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:237)
... 3 more
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: com.mongodb.jdbc.MongoDriver Processing Document # 1
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:71)
at org.apache.solr.handler.dataimport.JdbcDataSource.createConnectionFactory(JdbcDataSource.java:116)
at org.apache.solr.handler.dataimport.JdbcDataSource.init(JdbcDataSource.java:64)
at org.apache.solr.handler.dataimport.DataImporter.getDataSourceInstance(DataImporter.java:383)
at org.apache.solr.handler.dataimport.ContextImpl.getDataSource(ContextImpl.java:99)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.init(SqlEntityProcessor.java:53)
at org.apache.solr.handler.dataimport.EntityProcessorWrapper.init(EntityProcessorWrapper.java:74)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:433)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:414)
I put the mongo-java-driver-2.11.4
in this path but the error is still there:
example/solr/lib/mongo-java-driver-2.11.4.jar
Please can you help me to index my database??
NOTE: Im not able to create solr tag in this stackexchange
Best Answer
You can use SolrMongoImporter
Download solr-mongo-importer jar file
Download mongo-java-driver jar file
Place both jar's files in your Solr libraries folder
Include the libraries in your
solrconfig.xml
Example of usage: