By the this is not related to your question but this may help you for
connecting Solr via C#: http://solrsharp.codeplex.com/

2013/7/10 Floyd Wu <floyd...@gmail.com>

> Hi Furkan
> I'm using C#,  SolrJ won't help on this, but its impl is a good reference
> for me. Thanks for your help.
>
> by the way, how to fetch/get cluster state from zk directly in plain http
> or tcp socket?
> In my SolrCloud cluster, I'm using standalone zk to coordinate.
>
> Floyd
>
>
>
>
> 2013/7/10 Furkan KAMACI <furkankam...@gmail.com>
>
> > You can define a CloudSolrServer as like that:
> >
> > *private static CloudSolrServer solrServer;*
> >
> > and then define the addres of your zookeeper host:
> >
> > *private static String zkHost = "localhost:9983";*
> >
> > initialize your variable:
> >
> > *solrServer = new CloudSolrServer(zkHost);*
> >
> > You can get leader list as like:
> >
> > *ClusterState clusterState =
> > cloudSolrServer.getZkStateReader().getClusterState();
> > List<Replica> leaderList = new ArrayList<>();
> >   for (Slice slice : clusterState.getSlices(collectionName)) {
> >   leaderList.add(slice.getLeader()); /
> > }*
> >
> >
> > For querying you can try that:
> > *
> > *
> > *SolrQuery solrQuery = new SolrQuery();*
> > *//fill your **solrQuery variable here**
> > *
> > *QueryRequest queryRequest = new QueryRequest(solrQuery,
> > SolrRequest.METHOD.POST);
> > queryRequest.process(**solrServer**);*
> >
> > CloudSolrServer uses LBHttpSolrServer by default. It's definiton is like
> > that: *LBHttpSolrServer or "Load Balanced HttpSolrServer" is just a
> wrapper
> > to CommonsHttpSolrServer. This is useful when you have multiple
> SolrServers
> > and query requests need to be Load Balanced among them. It offers
> automatic
> > failover when a server goes down and it detects when the server comes
> back
> > up.*
> > *
> > *
> > *
> > *
> >
> > 2013/7/10 Anshum Gupta <ans...@anshumgupta.net>
> >
> > > You don't really need to direct any query specifically to a leader. It
> > will
> > > automatically be routed to the right leader.
> > > You may put a load balancer on top to just fix the problem with
> querying
> > a
> > > node that has gone away.
> > >
> > > Also, ZK aware SolrJ Java client that load-balances across all nodes in
> > > cluster.
> > >
> > >
> > > On Wed, Jul 10, 2013 at 2:52 PM, Floyd Wu <floyd...@gmail.com> wrote:
> > >
> > > > Hi there,
> > > >
> > > > I've built a SolrCloud cluster from example, but I have some
> question.
> > > > When I send query to one leader (say
> > > > http://xxx.xxx.xxx.xxx:8983/solr/collection1) and no problem
> > everything
> > > > will be fine.
> > > >
> > > > When I shutdown that leader, the other replica(
> > > > http://xxx.xxx.xxx.xxx:9983/solr/collection1) in the some shard will
> > be
> > > > new
> > > > leader. The problem is:
> > > >
> > > > The application doesn't know new leader's location and still send
> > request
> > > > to http://xxx.xxx.xxx.xxx:8983/solr/collection1 and of course no
> > > response.
> > > >
> > > > How can I know new leader in my application?
> > > > Are there any mechanism that application can send request to one
> fixed
> > > > endpoint no matter who is leader?
> > > >
> > > > For example, application just send to
> > > > http://xxx.xxx.xxx.xxx:8983/solr/collection1
> > > > even the real leader run on
> > http://xxx.xxx.xxx.xxx:9983/solr/collection1
> > > >
> > > > Please help on this or give me some key infomation to google it.
> > > >
> > > > Many thanks.
> > > >
> > > > Floyd
> > > >
> > >
> > >
> > >
> > > --
> > >
> > > Anshum Gupta
> > > http://www.anshumgupta.net
> > >
> >
>

Reply via email to