1

Solr のマスター/スレーブ構成は初めてで、solr のマスター スレーブ構成の replicaAfter 属性の意味を理解しようとしています。私は当初、コミット/最適化の後、マスターがすべてのスレーブに更新を送信すると考えていました。しかし、そうではないようです。

レプリケートのリクエスト ハンドラの設定は次のとおりです。

<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>

スレーブは、ポーリング間隔の後に更新を取得しているようです。しかし、私の要件は、マスターへのコミット/最適化の直後にスレーブのインデックスを更新することです。マスターはコミット/最適化でスレーブと通信できますか? それとも、通信はスレーブからマスターへの一方向のみですか? 誰かがこれらの質問に答えるのを手伝ってもらえますか? ありがとう!

4

2 に答える 2

5

だから、ここに答えがあります。ReplicateAfter は、スレーブが更新を要求したときに新しいバージョンのインデックスをいつ利用できるようにするかをマスターに伝えます (回答してくれた raticulin に感謝します!)

于 2012-05-31T13:34:48.963 に答える
2

スレーブはマスターを継続的にポーリングし、マスターはスレーブとの通信を開始しません。${POLL_TIME} を十分に下げて、マスターでのコミット後にレプリケーションが非常に高速に行われるようにする必要があります。

于 2012-05-30T23:08:30.740 に答える