通常,DIH配置與您在SolrCloud配置中使用單個Solr實例或多個實例無關。 DIH將在當前實例的Lucene索引中寫入數據,然後由zooKeeper在其他實例上進行擴展。
確保您DIH被propertly配置:
solrconfig.xml中,所有必要的庫被加載。這意味着,這兩個瓶子DIH:
<lib dir="../../../dist/" regex="solr-dataimporthandler-4.3.0.jar" />
<lib dir="../../../dist/" regex="solr-dataimporthandler-extras-4.3.0.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處理器(數據-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>
是的,這對我也適用。我用solr多年,但獨立總是爲我剪下它。現在它沒有,solr雲對我來說是新的。我發現很難使橋接器理解配置存儲在zookeeper文件結構中。 –