[英]SOLR indexing 2 databases
我們正在嘗試使用來自2個不同數據庫的數據構建SOLR索引,
查看該http://wiki.apache.org/solr/DataImportHandler#Multiple_DataSources ,似乎應該可以,但我們遇到了問題。
<dataConfig>
<dataSource
name="ds-1"
type="JdbcDataSource"
driver="Driver"
url="jdbc_url1"
user="user1"
password="pass1"/>
<dataSource
name="ds-2"
type="JdbcDataSource"
driver="Driver"
url="jdbc_url2"
user="user2"
password="pass2"/>
<document>
<entity name="entity1" datasource="ds-1" query="SELECT YYY FROM TABLE">
<field column="YYY" name="YYY"/>
</entity>
<entity name="entity2" datasource="ds-2" query="SELECT ZZZ FROM TABLE">
<field column="ZZZ" name="ZZZ"/>
</entity>
</document>
</dataConfig>
嘗試運行索引器時,它適用於第一個實體/查詢/ ds,然后因org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT ZZZ FROM TABLE
而失敗org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT ZZZ FROM TABLE
似乎正在嘗試在ds-1上執行query2 ...
我們還改變了數據源和/或實體定義的順序,似乎它總是只能索引第一個。
我們做錯什么了嗎? 我們對SOLR可以做什么抱有錯誤的期望?
謝謝您的幫助
我相信您的問題只是一個案例問題。 datasource
應該是dataSource
,我記得Solr XML配置屬性區分大小寫。 使用當前配置,將不會實際定義dataSource
,因此處理程序將使用已定義的第一個數據源(單一數據源模式)。
您應該將其更改為:
<entity name="entity1" dataSource="ds-1" query="SELECT YYY FROM TABLE">
<field column="YYY" name="YYY"/>
</entity>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.