2016-11-04 9 views
0

私はshadクエリを使用して、2つの異なるシステム(2つの異なるシステム、1つはhybrisから、もう1つはOTMMから)から応答を取得しています。私のOTMMサーバーがダウンしている場合、シャードクエリは他のsolrからの結果を返さない。他のコアがダウンしている場合、Shardは1つのコアから結果を返しますか?

morg.apache.solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException:サーバーのエラー.XXXX.net:8983/solr/otmm INFO |エラーが発生しました。 jvm 1 |メイン| 2016/11/04 03:24:55.476 | org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:560)

他がダウンしている場合には、あるサーバーから結果を得るために何かを構成する必要がありますか。私はparamにfqsを追加した後、以下のコードを使用しています。

レスポンス= solr.query(params);

+0

このようなクエリは、次のようになります。 shard1がnode1とnode2にあり、そのうちの1つがリーダーノードであるとします。 node1とnode2の両方が停止している場合、そのシャードの結果を得ることはできません。 – vinod

答えて

0

シャードのいずれかがダウンしても結果が得られるようにするには、そのシャードのレプリカが起動し、要求を処理していることを確認する必要があります。

レプリカを作成したくない場合、残りのシャードに要求を提供する場合は、distrib=falseパラメータをクエリに追加し、shardパラメータに正しいシャードアドレスを指定します。シャードの少なくとも1つのレプリカがアクティブである必要があり

/myhandler?q=something&distrib=false&shards=othershard:8888/solr/core

関連する問題