1

複数のアナライザーマシンでPythonコードを実行し、それぞれがsolrからドキュメントを選択し(操作の選択)、DBから更新されたフィールドを含むドキュメントを再送信することでsolrのデータを変更します(更新/挿入の場合)。ただし、異なるマシン上の異なるsolrインスタンスには独自の更新されたドキュメントがあるため、これにより、マシン間でデータの不整合が発生します。

さまざまなマシンによってクエリおよび更新される中央のSolrドキュメントリポジトリを保持して、データの一貫性を確保する方法はありますか?

4

2 に答える 2

3

Solrフォーラムは、 Solrの同時追加/更新に関する複数のスレッドを提供し、明確な全体像を提供します。

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

于 2012-03-01T06:30:26.123 に答える
0

あなたはこれを間違った方法でやっています。

SOLR は、すべての更新を取得する単一のマスター サーバーと、すべての検索クエリを処理する多数のレプリカ サーバーで完全に実行できます。こうすることで、レプリカが多すぎない限り、またはどのレプリカに対してもネットワーク帯域幅が制限されていない限り、すべてのサーバーが同一になります。

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

レプリケーションに関する SOLR wiki ページを読むことから始めます。

于 2012-03-01T07:08:00.120 に答える