2016-11-04 27 views
0

我正在使用分片查詢從兩個不同的系統獲取響應,一個來自hybris和OTMM。現在,如果我的OTMM服務器關閉分片查詢不返回來自其他solr的結果。它給出的錯誤爲:如果其他內核關閉,Will Shard會從一個內核返回結果嗎?

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後使用下面的代碼:

response = solr.query(params);

+0

ATLEAST一個副本碎片應該是積極的。比如shard1在node1和node2中,其中一個是leader節點。如果節點1和節點2都關閉,則無法獲得該分片的結果。 – vinod

回答

0

如果即使在某個分片已關閉的情況下也需要結果,則需要確保該分片的副本已啓動並提供請求。

如果您不想創建副本,而是希望剩餘的分片服務於請求,則可以在查詢中附加distrib=false參數,並在參數shard中提供正確的分片地址。

這樣的查詢會是這個樣子:

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

相關問題