簡體   English   中英

附加到Solr索引

[英]Append to a Solr Index

這可能是一個瑣碎的問題,但是我試圖將其附加到現有的Solr索引上,並且似乎每次都覆蓋那里的內容。 我有兩個要從中獲取數據的數據庫,可以分別從每個數據庫導入數據,但是當我從一個數據庫導入數據然后立即從第二個數據庫導入數據時,第一個數據庫將被覆蓋。 我在db-config.xml文件中映射了兩個數據源,並且我正在使用標准的Admin UI來運行導入。 我的配置文件如下所示。

<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">
      ...
    </entity>

 <entity name="entity2" dataSource="ds-2" query="SELECT ZZZ FROM TABLE">
      ...
    </entity>

  </document>
</dataConfig>

我該怎么做才能防止原始索引被覆蓋。 我想一直不斷地從各種不同的源中添加數據,因此刪除索引對我現在好了。

您的問題是您可能正在將索引文檔的鍵定義為數據庫中的主鍵ID,並且值重疊。 為了防止這種情況,您將需要為Solr指定唯一的ID。 通常,當我過去遇到此問題時,我使用字符串字段作為id字段,並在數據庫的id后面附加一個或兩個字符以使其唯一。 示例:“產品表”中的商品具有ID(例如P1,P2等),而“訂單表”中的商品具有ID(例如O1,O2等)。

您應該能夠使用數據導入處理程序TemplateTransformer來幫助您完成此任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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