SolrCloud を使用して 2 つのサーバーの Solr クラスターをセットアップしました。現在、マスターとレプリカがあります。
スレーブでデルタインポートを行うのは意味がないため、データインポートをリーダーに渡したいです(更新はリーダーに配布されません)。
ドキュメントから、CloudSolrServer はクラスターの状態 (Zookeeper から取得) を認識しており、デフォルトではすべての更新をリーダーにのみ送信することがわかりました。
私が望むのは、CloudSolrServer がすべての dataimport コマンドをマスターに送信するようにすることです。次のコードがあります。
SolrServer solrServer = new CloudSolrServer("localhost:2181");
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("qt", "/dataimport");
params.set("command", "delta-import");
QueryResponse response = solrServer.query(params);
しかし、リクエストは引き続き私のサーバー localhost:8080 と localhost:8983 の両方に送信されます。これを修正する方法はありますか?