2016-07-10 102 views
0

我正在研究一個索引大量小文檔的產品。
當啓動Solr時,它會在20分鐘左右提供35k/sec的索引速率,然後在一段時間後開始減速到24k/sec。
如果我重新啓動服務器,服務器將再次索引35k /秒20分鐘,然後再次減速。
我每5秒鐘有一次softCommit,每分鐘都有一次硬性承諾。
我想知道是否有人可能對此有所瞭解?
我不認爲它與合併有關,因爲我看到合併線程在2-3分鐘後踢入。Solr索引放緩

回答

1

你應該檢查秋後算賬:

  1. 沒有您的Java(或任何一種語言,你使用的)應用程序,您正在使用索引的問題。如果是這種情況,請說明實施細節,我會提供更多的指導方針;
  2. 你是NRT緩存在20分鐘後填滿,硬性承諾不會很快發生。爲了檢查這個選項,請在以下列方式將文檔從緩存寫入磁盤之前設置要索引的最大文檔數:<autoCommit> <maxDocs>10000</maxDocs></autoCommit>如果出現此問題,則可以調整自動提交或NRT緩存管理。
+0

謝謝,但索引問題不是問題,我已經添加了更多關於autoCommit的信息,它也排除了這一點。 @ AR1 –

+0

我明白了。爲什麼你經常這麼努力?我建議每增加一個文檔最大數量,每次增加一個硬性提交,比如說10分鐘,這樣您可以在需要時重新加載搜索器。我仍然認爲調整你的限制可以解決你的問題。如果增加部署Solr的計算機上的堆,會發生什麼情況?我會認爲20分鐘的時間會增加。 – AR1

+0

這是一個實時系統,所以我需要在他們到達的幾秒鐘內顯示抵達的文檔。我可以減少硬性提交,但它會每5秒鐘提供一次軟性提交嗎? 我正在運行14GB堆,所以內存不是問題在這裏(我認爲)@ AR1 –