Erick,
thanks for the reply.
Your last line puzzled me a bit. You wrote
*"The theory is that all the top-level requests shouldn’t be handled by the
same Solr instance if a client is directly using the http address of a
single node in the cluster for all requests."*

We are using 2 machines (2 different IPs), 2 shards with 2 replicas each.
We have an application which sends all solr requests to the same http
address of our machine A. I assumed that Zookeeper would distribute the
requests among the nodes.
Is this not the right thing to do? Should I have the application alternate
the solr machine to send requests to?
Thanks

Reinaldo


On Wed, May 27, 2020 at 12:37 PM Erick Erickson <erickerick...@gmail.com>
wrote:

> The base algorithm for searches picks out one replica from each
> shard in a round-robin fashion, without regard to whether it’s on
> the same machine or not.
>
> You can alter this behavior, see:
> https://lucene.apache.org/solr/guide/8_1/distributed-requests.html
>
> When you say “the exact same search”, it isn’t quite in the sense that
> it’s going to a different shard as evidenced by &DISTRIB=false being
> on the URL (I’d guess you already know that, but…). The top-level
> request _may_ be forwarded as is, there’s an internal load balancer
> that does this. The theory is that all the top-level requests shouldn’t
> be handled by the same Solr instance if a client is directly using
> the http address of a single node in the cluster for all requests.
>
> Best,
> Erick
>
>
>
> > On May 27, 2020, at 11:12 AM, Odysci <ody...@gmail.com> wrote:
> >
> > Hi,
> >
> > I have a question regarding solrcloud searches on both replicas of an
> index.
> > I have a solrcloud setup with 2 physical machines (let's call them A and
> > B), and my index is divided into 2 shards, and 2 replicas, such that each
> > machine has a full copy of the index. My Zookeeper setup uses 3
> instances.
> > The nodes and replicas are as follows:
> > Machine A:
> >      core_node3 / shard1_replica_n1
> >      core_node7 / shard2_replica_n4
> > Machine B:
> >      core_node5 / shard1_replica_n2
> >      core_node8 / shard2_replica_n6
> >
> > I'm using solrJ and I create the solr client using
> Http2SolrClient.Builder
> > and the IP of machineA.
> >
> > Here is my question:
> > when I do a search (using solrJ) and I look at the search logs on both
> > machines, I see that the same search is being executed on both machines.
> > But if the full index is present on both machines, wouldn't it be enough
> > just to search on one of machines?
> > In fact, if I turn off machine B, the search returns the correct results
> > anyway.
> >
> > Thanks a lot.
> >
> > Reinaldo
>
>

Reply via email to