簡體   English   中英

SOLR索引2個數據庫

[英]SOLR indexing 2 databases

我們正在嘗試使用來自2個不同數據庫的數據構建S​​OLR索引,

查看該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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM