2014-02-14 25 views
2

我有一個solr雲安裝與兩臺服務器,每個集合有1個碎片和2個副本。這兩個實例位於負載均衡器後面,該負載均衡器只是以循環模式工作。Solr同步數據複製立即搜索可用性

在我們的應用中,我們採取了以下措施:

  1. 添加文件索引
  2. 對文件進行查詢,發現如果它匹配了一系列的規則

對於這個發生這種情況時,我們需要在文件提交後立即將該文檔複製到第二臺solr服務器。

我們Solr的配置如下:

solr.autoSoftCommit.maxDocs=1 
solr.autoSoftCommit.maxTime=1000 

solr.autoCommit.maxDocs=1000 
solr.autoCommit.maxTime=15000 

據我瞭解這些設置,solr.autoSoftCommit.maxDocs = 1將導致文件要立即編入索引這應該引起這個指數變化被推送到副本。

此外,日誌將被處理並提交autoCommit設置每1000個文檔或每15s。

我們所看到的是該文檔通常在其添加到的實例上不可用,並且在副本實例上幾乎不可用。

回答

2

不直接回復你的主要問題,但只是在你不知道它的情況下...如果你的查詢可以作爲Lucene查詢給出,你有沒有使用包含一個文檔MemoryIndex,並運行所有對它進行查詢?

我已經使用這個設置並且工作得非常好。

+0

這實際上會解決我的問題,謝謝你閱讀我的問題之間的線。我只是要等待標記這個答案,以防有人提供答案的答案。所以如果別人想要設置solr他們會得到。但我認爲這正是我需要的。謝謝。 – GreenKiwi

+1

很高興幫助! – Persimmonium

+0

到目前爲止,這是最好的(也是唯一的)答案。看起來我們實際上正在拖延查詢,直到1.5 x軟提交窗口。由於solr查詢與lucene的查詢略有不同。 – GreenKiwi