2012-03-01 19 views
1

私は、solr(選択操作)から文書をピッキングし、solaris内のデータを修正する複数の分析マシンでPythonコードを実行しています。インサート)。 しかし、異なるマシン上の異なるソルインスタンスには独自の更新されたドキュメントがあるため、マシン間でデータの不一致が生じます。PythonコードのSolr一貫性

セントラルソルのドキュメントリポジトリを保持して、別のマシンでクエリと更新を行い、データの一貫性を保証する方法はありますか?

答えて

3

Solrフォーラムでは、明確な画像を与えるConcurrent Solr add/updatesに複数のスレッドを提供します。

Solrの単一のインスタンスを維持し、複数のクライアントにコミットさせることができます。
SolrはRDBMSのようなトランザクションではありませんが、並行処理は処理されます。
コミットが行われるたびに、他の人がコミットできず、キューに入れられるようにロックが維持されます。
コミットすると、保留中のコミットもすべてコミットできます。

+0

"シングルドキュメントアトミック性"は当日の用語です:-)私が正しいと思い出すならば、モンゴーはこのように実装します。 – aitchnyu

+0

私は正しい方向に向いてくれてありがとうJayendraありがとう。 – Kratos85

0

これは間違った方法です。

SOLRは、すべての更新を取得する単一のマスターサーバーと、すべての検索クエリを処理する多くのレプリカサーバーで完全に実行できます。そうすれば、レプリカがあまり多くない場合や、ネットワーク帯域幅がレプリカのいずれにも制限されていない限り、すべてのサーバーは同じです。

更新プロセスはありますが、マスターサーバーのコアのみが更新されます。レプリカサーバは、SOLRのレプリカ機能を介して自動的にアップデートを取得します。

the SOLR wiki page on replicationから始めてください。

関連する問題