lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Cowell <>
Subject Re: Load balancing within distributed search
Date Tue, 01 Mar 2011 13:18:48 GMT
Hi Upayavira,

I believe there is a basic implementation of load balancing for distributed
search. The submit() method in the HttpCommComponent class within
SearchHandler contains code which splits a pipe character delimited string
of shards and uses a LoadBalancedHttpSolrServer to send requests to them.

But the functionality is limited to the features of the LBHttpSolrServer,
such as round-robin choosing of shards to query (although when the string of
|-delimited shards is split, the resulting individual shards are shuffled),
so I'm sure this could be improved upon.


On Tue, Mar 1, 2011 at 11:20 AM, Upayavira <> wrote:

> The SolrCloud doc suggests a request a shard syntax like this:
> shards=localhost:8983/solr|localhost:8900/solr,localhost:7574/solr|localhost:7500/solr
> Where a pipe character (|) is used to provide load balancing facilities
> for shards. I've looked in trunk but cannot find anything that looks
> like it.
> Has this been implemented anywhere? If not, I'd like to have a go at
> implementing it.
> The requirements as I see it are:
>  * randomised choice
>  * on an exception, try other hosts for that shard, until exhausted
> More complex would be:
>  * if a host is down, note it as such and try it again only after a
>  pre-defined interval.
> Any thoughts?
> Upayavira
> ---
> Enterprise Search Consultant at Sourcesense UK,
> Making Sense of Open Source
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

View raw message