2015-09-25 89 views
0

我有大約50TB的內容。這套文件的數量約爲2.5億。每天增加到這個不是很大,不過我的約10000個大小不超過50MB的文檔。 目前的索引工作時間太長,估計要在100天以上完成!
所以......這真的是一大堆數據集?對我而言,50TB的內容(在這個時代)並不是很大。你有這個尺寸的內容嗎?如果你這樣做,你是如何提高一次性索引的時間?另外,您是如何通過實時索引來縮短時間的?
如果你可以回答..很好。如果你能指出我的正確方向,那麼也要讚賞。
大數據集Solr索引

在此先感謝。
rd

+0

檢查此http://stackoverflow.com/a/31935578/2254048。如果批量索引處於打開狀態,也可以禁用softCommit以進行批量索引。另請閱讀https://wiki.apache.org/solr/SolrPerformanceFactors。 – YoungHobbit

+0

Solr中的數字本身是毫無意義的:簡單的CSV導入可以處理30K文檔/秒,足夠複雜的Tika處理可能意味着1個文檔/分鐘。如果YoungHobbit的建議無效,請更詳細地描述您正在處理的數據和你如何將它們添加到Solr。 –

回答

0

有許多因素需要考慮。

  1. 您可以從客戶端開始索引。你在使用哪個客戶端。它是Solrj還是監聽數據庫的任何框架(如oracle或Hbase)或其他API。 這可以有所作爲,因爲Solr善於處理它們,但客戶端的客戶端框架和數據準備工作也需要進行優化。例如,如果您使用Hbase索引器(從Hbase表讀取數據並寫入Solr),則可以期望幾百萬的數據在幾小時左右就被索引。那麼,這不應該花很多時間來完成2.5億。

  2. 客戶端之後,進入Solr環境。您在文檔中索引了多少個字段。你也有存儲字段或任何其他字段類型的開銷。

  3. 根據記錄數或RAm大小配置像autoCommit這樣的參數,如上面註釋中提到的softCommit,用於索引數據的並行線程,Hardware是指向cosider的一些指向。

你可以找到綜合清單here,並可以驗證每個。快樂設計