我使用分片查询从两个不同的系统上获得两个不同核心的响应,一个来自hybris,另一个来自OTMM。现在,如果我的OTMM服务器是向下分片查询,则不会从其他已启动的solr返回结果。它给出了错误:
morg.apache.solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException:来自.XXXX.net服务器的错误:8983 / solr / otmm 信息| jvm 1 |主要| 2016/11/04 03:24:55.476 | at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:560)
我是否需要配置任何内容以从一台服务器获取结果(如果其他服务器已关闭)。我在param中添加fq后使用下面的代码:
response = solr.query(params);
答案 0 :(得分:0)
如果您希望在其中一个分片关闭时获得结果,则需要确保该分片的副本已启动并提供请求。
如果您不想创建副本,而是希望剩余的分片为请求提供服务,则可以在查询中附加distrib=false
参数,并在shard
参数中提供正确的分片地址
这样的查询看起来像这样:
/myhandler?q=something&distrib=false&shards=othershard:8888/solr/core