簡體   English   中英

Solr-有沒有辦法加快我的導入

[英]Solr - Is there a way to speed up my import

我有一個關系數據庫模型,這是我的data-config.xml的基礎

<entity name="MyMainEntity" pk="pID" query="select ... from [dbo].[TableA] inner join TableB on ...">
    <entity name="Entity1" pk="Id1" query="SELECT [Text] Tag from [Table2] where ResourceId = '${MyMainEntity.pId}'"></entity>
            <entity name="Entity1" pk="Id2" query="SELECT [Text] Tag from [Table2] where ResourceId2 = '${MyMainEntity.pId}'"></entity>
    <entity name="LibraryItem" pk="ResourceId" 
            query="select SKU
                    FROM [TableB] 
                    INNER JOIN ...
                    ON ...
                    INNER JOIN ...
                    ON ...
                    WHERE ... AND ...'">
    </entity>
</entity>

現在,這需要很多時間。
在第一個查詢中有10000行,然后在彼此之間互相取回內部實體(每個約10行)。

如果我使用數據庫探查器,我會看到三個內部實體查詢一遍又一遍地運行(3個選擇句子而不是3個選擇句子)
這確實沒有效率。
導入可以運行40多個小時()
現在,
我有什么選擇可以更快地運行它。

  1. 顯然,可以選擇將表平整為一個大表-但這會產生很多其他副作用。 我真的很想避免這些額外的工作,並在我的生產關系表上運行solr。
    到目前為止,它開箱即用,效果很好,我在這里搜索是否有配置調整。
  2. 如果我將這些行放平,那么是否也需要更改schema.xml? 或相同的多值字段將保持多值。

謝謝。

在不更改數據庫架構的情況下,首先要嘗試的是緩存 如果內部實體緩存良好,收益將是可觀的。

也許維基不是最新的,所以您應該檢查jira問題,即solr-2382 ,也可以看看solr-2948

第二條路徑可能是嘗試多線程DIH,但這比較棘手。 有時這是可選的,但后來由於存在錯誤而被刪除,我認為現在有一些jira問題試圖重新實現它,嘗試查找它,但是我建議先進行緩存。

暫無
暫無

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

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