Shawn,
On 5/18/23 14:35, Shawn Heisey wrote:
On 5/18/23 10:27, Christopher Schultz wrote:
I didn't know there were multiple SolrJ implementations. I'm using the
client library directly from the Solr project with a version number of
7.7.3. It looks like I have been running against an 8.1.1 server in my
development environment while we have 7.7.3 in both staging and
production. My goal was to upgrade to Solr 8.latest in the very near
future, but I wanted to have all this code in-place to allow for
completely automated schema updates and index re-build before doing
that, because I understand that moving between major versions
basically requires a complete index re-build. I'd rather have a
completely point-and-click admin-initiated process for that than a
manual "type these 40 commands" process to make the migration super
duper easy.
There are basically four client implementations that most end users
might use.
1) Cloud client based on Apache HttpClient. Deprecated. Class name
CloudSolrClient.
2) Http client based on Apache HttpClient. Deprecated. Class name
HttpSolrClient.
3) Cloud client based on Jetty HttpClient. Capable of HTTP2. Class
name CloudHttp2SolrClient.
4) Http client based on Jetty HttpClient. Capable of HTTP2. Class name
Http2SolrClient.
I'm using the org.apache.solr.client.solrj.impl.HttpSolrClient class
from solr-solrj-7.7.3.jar library. It loos like I'm using it with
org.apache.http.client.HttpClient so I guess I'm in bucket #2 above.
There are some other client implementations, but they are mainly used
internally by the four mentioned clients or internally by Solr itself.
If your version 7 index was built from scratch by Solr 7.x, then you can
upgrade it to 8.x with no problem. If any version before 7.0 has EVER
touched the index, then 8.x will not open it. Version 9 is similar,
only opening indexes originally built by 8.0 or later.
Please confirm the following:
1. Solr index is created with Solr 7.something
2. Solr 8.x is deployed and all is well
3. Index is re-built by replacing 100% of documents in the index
4. Solr 9.x is deployed and all is well
Is that correct, especially #4? I'd hate to have to literally delete the
index and re-create it, since it's supposed to be online all the time
and it takes hours to re-index everything.
Even when a version upgrade can use the existing index, a full re-index
is still recommended.
Is a full-re-index defined as "replace every single document with a new
fresh copy of itself"? If so, then I'm all good.
Thanks,
-chris