You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by "sangeetha.subramanian@gtnexus.com" <sa...@gtnexus.com> on 2016/04/22 20:21:37 UTC

Where to set Shards.tolerant to true ?

Hey guys,

I am trying to implement Distributed search with Master Slave server. Search requests goes to Slave Servers. I am planning to have a load balancer before the Slave servers. So here is the custom search handler which is defined.

<requestHandler name="/newsearch" class="solr.SearchHandler">
             <lst name="defaults">
                    <str name="q.alt">*:*</str>
                    <str name="shards"> host address of the slaves</str>
             </lst>
       </requestHandler>

I believe if more than one slave servers are provided in the shards parameter, it will not be fault tolerant. So in that case I came across something like shard.tolenance = true parameter.
But I am not sure on where we can define this ? https://cwiki.apache.org/confluence/display/solr/Read+and+Write+Side+Fault+Tolerance Can we set this up with Solr Master Slave architecture.
Could someone please tell me if this is possible to set up at Solr Server level ?

Thanks
Sangeetha

Re: Where to set Shards.tolerant to true ?

Posted by Erick Erickson <er...@gmail.com>.
I'm confused. Are you sharding or not? Sharding is used when your
index is too big to fit on one Solr, so your docs go to separate Solr
nodes. That is, if shard1 contains the doc with id=12, shard2 will NOT
have that doc.

If you're not sharding (i.e. each slave has all the docs in your
collection), then the shards parameter is totally unnecessary, just
put the slaves behind a load balancer as you've indicated and you're
done.

If you _are_ sharding, then I _strongly_ recommend you go to SolrCloud
where you don't have to pay attention to these kinds of details.
Otherwise you're trying to re-invent the wheel as the fault tolerance
& etc is what SolrCloud is _about_.

Best,
Erick



On Fri, Apr 22, 2016 at 11:21 AM, sangeetha.subramanian@gtnexus.com
<sa...@gtnexus.com> wrote:
> Hey guys,
>
> I am trying to implement Distributed search with Master Slave server. Search requests goes to Slave Servers. I am planning to have a load balancer before the Slave servers. So here is the custom search handler which is defined.
>
> <requestHandler name="/newsearch" class="solr.SearchHandler">
>              <lst name="defaults">
>                     <str name="q.alt">*:*</str>
>                     <str name="shards"> host address of the slaves</str>
>              </lst>
>        </requestHandler>
>
> I believe if more than one slave servers are provided in the shards parameter, it will not be fault tolerant. So in that case I came across something like shard.tolenance = true parameter.
> But I am not sure on where we can define this ? https://cwiki.apache.org/confluence/display/solr/Read+and+Write+Side+Fault+Tolerance Can we set this up with Solr Master Slave architecture.
> Could someone please tell me if this is possible to set up at Solr Server level ?
>
> Thanks
> Sangeetha