Lucene has never really supported this migration path. There’s a whole long 
discussion of why, but basically you can’t upgrade an index with 100% fidelity 
because the original information isn’t there. Here’s the most succinct 
definition I’ve seen (from Robert Muir):

"I think the key issue here is Lucene is an index not a database. Because it is 
a lossy index and does not retain all of the user's data, its not possible to 
safely migrate some things automagically. In the norms case IndexWriter needs 
to re-analyze the text ("re-index") and compute stats to get back the value, so 
it can be re-encoded. The function is y = f(x) and if x is not available its 
not possible, so lucene can't do it.””

The Lucene devs make valiant efforts to keep indexes compatible across one 
major version, but have never made guarantees about two or more. Which brings 
me to IndexUpgraderTool. That simply rewrites the index in the current version 
format, essentially making index access more efficient. It does _not_ 
synthesize f(x) for the reason above.

Starting with 6.0, a marker was written into every segment identifying the 
version it was written. That marker is preserved through all segment merges and 
IndexUpgraderTool also preserves it. Starting with 8.0, if any segment has a 
marker earlier than 7.x (or not marked at all)the error you’re seeing is thrown.

So the short form is that you must re-index your data when upgrading whenever 
any part of your index was ever written by version X-2.

Best,
Erick

> On Aug 5, 2020, at 7:47 AM, Anchal Sharma2 - anchs...@in.ibm.com 
> <anchs...@in.ibm.com> wrote:
> 
> Hi All,
> 
> 
> We are presently using solr 5.3.0 and planning to migrate to version 8.4.1 .I 
> tried using index upgrader for the same .
> 
> I am able to upgrade 5.3.0->6.6.6 and 6.6.6 to 7.7.3.But when I try upgrading 
> 7.7.3 index  to 8.4.1,I keep getting following error :
> 
> 
> This index was initially created with Lucene 6.x while the current version is 
> 8.4.1 and Lucene only supports reading the current and previous major 
> versions.. This version of Lucene only supports indexes created with release 
> 7.0 and later.
> 
> 
> Is there any workaround to do this ,without re-indexing?Any help/suggestions  
> would be much appreciated.
> 
> 
> Thanks
> 
> Anchal
> 

Reply via email to