lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erick Erickson <>
Subject Re: Questions about the IndexUpgrader tool.
Date Tue, 18 Dec 2018 17:40:43 GMT
You are far better off re-indexing totally.

Using IndexUpgraderTool has never guaranteed compatibility
across multiple major releases. I.e. if you have an index built
with 4x, using that tool will work for 5x, but then going from 5x
to 6x _even after the entire index is rewritten from 4 x format_
has  never been guaranteed to work. By "guaranteed to work"
here, I mean that there can be subtle problems, regardless
of appearances

The two most succinct statements as to why this is true follow.
I will not second guess _anything_ these two people have to
say about how Lucene works ;)

 From Mike McCandless:
“This really is the difference between an index and a database:
we do not store, precisely, the original documents.  We store an
efficient derived/computed index from them.”

 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...
The function is y = f(x) and if x is not available its not possible, so
lucene can't do it.”

As of 6x, a marker is written into each segments and the lowest
version is retained when segments are merged. 8x will refuse
to start if it detects a 6x marker so this will be enforced soon.


On Mon, Dec 17, 2018 at 12:27 PM Pushkar Raste <> wrote:
> Hi,
> I have questions about the IndexUpgrader tool.
> - I want to upgrade from Solr 4 to Solr 7. Can I run upgrade the index from
> 4 to 5 then 5 to 6 and finally 6 to 7 using appropriate version of the
> IndexUpgrader but without loading the Index in the Solr at all during the
> successive upgrades.
> - The note in the tool says "This tool only keeps last commit in an index".
> Does this mean I have optimize the index before running the tool?
> - There is another note about partially upgraded index. How can the index
> be partially upgraded. One scenario I can think of is 'If I upgraded let's
> say from Solr 5 to Solr 6 and then added some documents. The new documents
> will be in Lucerne 6 format already, while old documents will still be Solr
> 5 format’ Is my understanding correct?

View raw message