我有一个像这样配置的SolrCloud:exploration of SolrCloud,区别在于我使用的是Solr 4.0.0 Beta。不久配置:
2181
上的ZooKeeper 这仅用于测试目的。所需的配置是3个ZooKeeper实例(每个Solr实例一个)。我设法用curl命令索引一些XML文件。
问题:
如何配置DIH /收集?我设法更改solrconfig.xml(config for dataimport-handler),在lib中添加适当的数据库连接驱动程序,但在solr admin中我得到“抱歉,没有定义dataimport-handler!”可以在zookeeper中查看更改(我看到data_config.xml),在solr管理面板中,我可以看到solrconfig.xml的更新版本。
在Ubuntu 12.04 LTS的单台或多台机器上进行solrcloud生产部署(与之前提到的所需配置一样的somthink)的任何优秀教程?
任何建议将不胜感激!提前谢谢!
答案 0 :(得分:5)
正常情况下,DIH配置与您使用单个Solr实例或solrCloud配置中的多个实例无关。 DIH将在当前实例的Lucene索引中写入数据,然后由zooKeeper在其他实例上进行处理。
确保您的DIH配置属性:
在solrconfig.xml中,加载了所有必需的库。这意味着两个DIH罐子:
<lib dir="../../../dist/" regex="solr-dataimporthandler-4.3.0.jar" />
<lib dir="../../../dist/" regex="solr-dataimporthandler-extras-4.3.0.jar" />
以及您可能需要的其他jar(如数据库JDBC驱动程序等)。
仍然在solrconfig.xml中确保声明了DIH处理程序,如下所示:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
最后,您在DIH处理程序(data-config.xml)中声明的配置文件应与solrconfig.xml位于相同的“conf”目录中,并且应具有适当的内容,例如:
<dataConfig>
<dataSource type="JdbcDataSource" name="myDataSource" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@someHost:1521:someDb" user="someUser" password="somePassword" batchSize="5000"/>
<document name="myDoc" >
<entity name="myDoc" dataSource="myDatasource" transformer="my.custom.Transformer" query="select col1, col2, col3 from table1 where whatever" />
</document>
</dataConfig>