2013-06-12 50 views
0

我有更大的Solr索引大小。該指數包含300萬份文件。我需要經常更新一些文件。但是,每次Solr提交都需要一段時間,因爲索引包含數百萬個文檔。每個提交都會打開一個新的搜索器。所以第一次執行搜索需要一些時間。有沒有辦法以有效的方式更新文檔?提前致謝。如何更有效地更新更大的solr索引

回答

1

你可以檢查索爾4 soft commits這將使索引更快。新文件將盡快提供,但不會持續索引。你可以決定偶爾執行一次硬提交。

Documentation

軟提交的速度要快得多,因爲它不僅使指數的變化可見和不FSYNC索引文件或寫一個新的索引描述。如果JVM崩潰或電源斷電,上次硬提交後發生的更改將丟失。具有接近實時要求的搜索集合(希望索引更改對搜索快速可見)將需要經常軟提交,但不太經常提交。

恢復可能可以用事務日誌來執行。

如果丟失文檔對您來說是個問題,您可以配置Solr的Master Slave體系結構。 Master是索引發生的地方,並且是從屬於執行搜索的位置,因此索引和提交時間不會影響搜索。但是,會有延遲,以及取決於您的提交頻率如何。

+0

感謝您的回覆。是的。其實我正在使用軟提交。它完成了約三分之一的硬提交。但是,自從新的搜索者將被打開以來,搜索提交後所花費的時間已經很長了。我知道這是Solr的行爲。但如果有其他選擇,我仍然會好起來的。 – ak87

+0

我驚訝你不建議事務日誌 – aitchnyu

+0

事務日誌是爲了維護狀態在任何崩潰的情況下恢復。它應該處理恢復。 – Jayendra