On Mon, Aug 8, 2016 at 1:37 PM, Erick Erickson <erickerick...@gmail.com> wrote:
> Yes. Lucene only guarantees back-compatibility with
> indexes for one major version. That is, a 4.x release can
> read a 3.x Lucene index. But a 5.x will not read a 3.x.
>
> So you have some options here:
> 1> re-index all your source in 6.x. This is probably easiest....
> 2> upgrade in stages, check out the IndexUpgradeTool.
> Here's the doc for 4.x, which should the 3.x version.
>
> I'll leave it to the people who know Lucene better than me
> to opine about whether running the IndexUpgrader several
> times in succession works well.

One problem is that IndexUpgrader and the rest of Lucene has the same
package name in all the subsequent versions. So there is a fiddly bit
of renaming the packages in order to get it all into one classpath.
Actually figuring out how to call the upgrader each time was also a
bit interesting, given that by renaming the packages, the Directory
class had to be adapted in interesting ways to eventually call through
to the current Lucene's version of the Directory class. I think the
InfoStream had some interesting adapting challenges as well.

But even then... I'm not sure IndexUpgrader is 100% flawless. We had
one issue initially where it wasn't upgrading empty indexes at all,
which I think is fixed now. More recently I think we have hit a case
where a failure occurred due to the index being corrupt, but the
upgrade method returned as if it was completely successful... almost
like it was doing the merges in the background, but not waiting until
they complete.

TX

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to