我遇到了一種情況,我們有時必須完全擦除索引,然後重新索引集合。這個過程當然需要很長的時間。我不想在Prod中允許任何或至少延長停機時間。因此,我正在研究Solr中的一種方法,即創建一個新集合,該集合是舊集合的副本,但沒有數據。我可以在很少或任何服務降級的情況下重新索引這個新集合。然後,我想使用別名將新集合指向客戶正在使用的別名,以便他們即使不知道它也會開始使用新集合。Solr集合創建和自定義集合庫
我目前正在運行4.2,但想知道如果我不應該升級到4.7以便更好地支持這一點。看起來像4.2擁有大部分相同的Collection API支持。
我碰到的第一個難題是我正在複製的集合在客戶庫中有一個lib文件夾。如果可能的話,我想把它們推送到solrhome/lib文件夾,以便它們只加載一次。我的問題是,如果我有不同版本的自定義數據導入器,那麼我將遇到類加載器問題。
是否有人成功實施了這種場景,並且可以提供一些洞察力,幫助您瞭解您的缺陷和成功經驗以及對您有用的方面?
更多詳細信息... 我有許多不同的集合是本Solr的雲的一部分。如果可能的話,我不想影響任何其他集合,同時對新複製的集合進行更改。
只是好奇,爲什麼你需要首先消滅你的索引?您的架構中有獨特的密鑰嗎? – arun
你可以隨時寫一個腳本。 – MYK
當我們改變模式並且索引保留舊格式的信息時,很少有這種情況。例如,如果刪除字段或重命名模式中的字段,可能會導致索引處於不一致狀態。這在使用原子更新時尤其如此。這意味着您在更新期間並不總是清除不良數據。否則,我們只需要在Prod中完全導入數據並在運行中替換索引。 – gaoagong