2012-05-30 42 views
1

我是新來的主/從配置在Solr,並試圖瞭解solr的主從屬配置中的replicateAfter屬性意味着什麼。我最初認爲,在提交/優化之後,主服務器會將更新發送給所有從服務器。但似乎並非如此。Solr複製主從屬 - ReplicateAfter屬性

這是replicate的請求處理程序配置。

<requestHandler name="/replication" class="solr.ReplicationHandler" > 
    <lst name="master"> 
    <str name="enable">${enable.master:false}</str> 
    <str name="replicateAfter">commit</str> 
    <str name="replicateAfter">startup</str> 
    <str name="replicateAfter">optimize</str> 
    <str name="confFiles">schema.xml,stopwords.txt</str> 
</lst> 
<lst name="slave"> 
    <str name="enable">${enable.slave:false}</str> 
    <str name="masterUrl">http://${MASTER_CORE_URL}/${solr.master.core.name}/replication</str> 
    <str name="pollInterval">${POLL_TIME}</str> 
</lst> 

奴隸似乎輪詢間隔之後得到更新。但是我的要求是在向主提交/優化之後立即更新從服務器的索引。 Master可以在提交/優化時與奴隸進行通信?或者,溝通只有從奴隸到主人的一種方式?有人可以幫助回答這些問題嗎?謝謝!

回答

5

所以,這是答案。 ReplicateAfter告訴大師什麼時候讓新版本的索引可供當奴隸要求更新(感謝raticulin回答它!)

2

從站連續輪詢主站,主站不主動與從站進行通信。您應該只需降低$ {POLL_TIME},以便在主服務器上進行提交後,複製速度會非常快。

+0

嗯....有沒有其他的替代品?不會將輪詢時間更改爲較低值,請保持主站忙於從站的輪詢請求(每秒或每隔幾秒?)。 「ReplicateAfter」屬性的作用是什麼? – Ravi

+1

這不是一個搜索請求,不會花費太多。 ReplicateAfter告訴大師什麼時候讓索引的新版本可用於奴隸要求更新 – Persimmonium

+0

好吧,聽起來不錯。我會嘗試。感謝有關ReplicateAfter屬性的信息。 – Ravi