2012-08-25 34 views
10

我們使用培訓服務器創建索引索引並通過rsync將它們上傳到另一個(solr)服務器。Solr索引不可見

到現在爲止,一切都很好。現在,我們在一個核心上的索引大小急劇增加,我們的solr實例拒絕讀取那個核心上的索引。而且,他們沒有任何例外地忽略這些索引。 (我們肯定被重新加載內核或重新啓動後tomcatrsyncs

即:在solr statsnumDocs0/select?q=*:*沒有返回任何結果..

只是爲了回答這個問題,是這些索引損壞,我們已經再生了他們幾次。但沒有任何變化。當我們嘗試使用較小的索引時,它們正在被正確讀取。

我們在這個核心的solrconfig.xml是這樣的; https://gist.github.com/983ebb13c895c9cccbfb

+0

你能分享你的卡塔利娜日誌文件嗎? – Evan

+0

嗨伊萬,我們調查了日誌文件。沒有什麼是指向一個錯誤。但是我們意識到我們的「細分」文件已損壞。這很可能與我們的培訓師有關。 – xarion

+1

您是否嘗試過使用內置複製? –

回答

2

使用rsync複製索引是壞主意。當您啓動複製操作時,您的Solr服務器可能尚未完成將文件寫入光盤,並且最終可能導致損壞。唯一安全的方法是關閉主站(源索引),關閉從站(目標索引),刪除從站索引目錄的全部內容,複製主站索引,然後重新啓動所有內容。

更好的方法是上面的Peer Allan提出的 - 使用Solr的內置複製支持。見http://wiki.apache.org/solr/SolrReplication

+0

我同意,我們通過從文件複製解決方案切換到使用複製來解決了很多問題已經內置。 –