On 5/7/2013 3:11 PM, Skand Gupta wrote:
We have a fairly large (in the order of 10s of TB) indices built using Solr 3.5. We are considering migrating to Solr 4.3 and was wondering what the policy is on maintaining backward compatibility of the indices? Will 4.3 work with my 3.5 indexes? Because of the large data size, I would ideally like to move new data to 4.3 and gradually re-index all the 3.5 indices.
Solr 4.x will read 3.x indexes with no problem. When Solr 5.x comes out, it will read 4.x indexes, but it will not read 3.x indexes.
If the 4.x server does any updates on a 3.x index, it will write new segments in the new format, and if existing segments get merged, they will be in the new format.
If you do an optimize in that situation, which would take forever with terabytes of data, Solr would convert the index format. Reindexing is MUCH better, but you've already stated that as a goal, so I won't mention any more about that.
Due to advances and bugfixes, you might see some unusual behavior until you reindex. This happens due to changes in the way analyzers and query parsers work as compared to the way things worked on 3.5 when you built the index. The more complicated your analyzer chains are in your schema, the more likely you are to run into this.
One thing that might be of immediate concern - in 4.0 and later, the forward slash is a special query character and must be escaped with a backslash. It is safe to send this escaped character to 3.5 as well. The utility method in SolrJ for escaping queries (ClientUtils#escapeQueryChars) has been updated to include the foward slash in newer SolrJ versions.
Thanks, Shawn