lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Heisey <>
Subject Re: Mix Solr 4 and 5?
Date Fri, 22 Jan 2016 16:18:45 GMT
On 1/22/2016 8:57 AM, wrote:
> When you talk about not mixing 4.x and 5.x when using SolrCloud, you mean between the
client and the server that talk to each other, right? Or would it be a problem keeping our
existing non cloud solr 4.x server, upgrading the client solrj jar to 5.x (assuming this works,
like you and others here seem to think it should/could), and then adding a new solr cloud
5.x server? That way, there the two separate communication "channels" are solrj 5.x <-->
solr 4.x server, and, solrj 5.x  <--> solrcloud 5.x.

HttpSolrClient/HttpSolrServer compatibility between 4.x and 5.x versions
is very good.  Solr's basic HTTP API does not change very often.

CloudSolrClient/CloudSolrServer compatibility between versions is fairly
poor.  That's because this client interacts with the cloud via
Zookeeper, though queries/updates are still sent using the HTTP API once
the correct server has been determined.  SolrCloud's use of zookeeper
makes the whole thing a LOT more complicated, and extensive changes have
been necessary to add features and fix bugs.

If your existing Solr is NOT running cloud, then upgrading all SolrJ
versions to 5.4.1 will probably work great.  The client object has been
renamed from HttpSolrServer to HttpSolrClient, but HttpSolrServer will
be present until 6.0 and existing code will work.  Naturally you will
want to test this, but I think you'll be successful.

In your code for the new Solr version running SolrCloud, you can use
CloudSolrClient.  You'll get the best results for this interaction if
SolrJ and Solr are the same version.


View raw message