SolrCloud的Shard怎么理解

这篇文章主要介绍“SolrCloud的Shard怎么理解”,在日常操作中,相信很多人在SolrCloud的Shard怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SolrCloud的Shard怎么理解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

solrcloud 当一个节点宕机时候,任然可以查询,这是有前提的。比如shard有一个备份,当一个节点宕机了,任然可以查询,因为有备份。但是当此shard节点和所有的备份节点都宕机了,如果查询他会返回:no servers hosting shard,因为现在的索引集合已经不完整了,这种是非常危险的,可能影响业务。比如注册的用户不能登录等等。

有时候我们为了使瞒住当节点宕机后,任然可以查询,且会忽略宕机的shard,solrj中可以添加如下代码:

ModifiableSolrParams params = new ModifiableSolrParams();
params.set("shards.tolerant", "true");

其他资料:

SolrCloud分布式检索时忽略宕机的Shard

“<lst name=”error”>
<str name=”msg”>no servers hosting shard:</str>
<int name=”code”>503</int>
</lst>”

加入下面参数,只从存活的shards获取数据:

shards.tolerant=true

例如:

<requestHandler name=”/select” class=”solr.SearchHandler”>
<lst name=”defaults”>
<str name=”echoParams”>explicit</str>
<str name=”shards.tolerant”>true</str>
<int name=”rows”>10</int>
<str name=”df”>text</str>
</lst>
</requestHandler>

没有打此参数,如果集群内有挂掉的shard,将显示:

no servers hosting shard

到此,关于“SolrCloud的Shard怎么理解”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!