In this situation you need to first, using 4.5.1, "upgrade" your entire index to the supported postings format ... then 4.8 can read the index.
Mike McCandless http://blog.mikemccandless.com On Thu, Sep 25, 2014 at 4:00 PM, Michael Poindexter <statics...@gmail.com> wrote: > I have an index that was created in 4.5.1 using a custom Codec (actually > just the Lucene45Codec codec with the getPostingsFormatForField method > overridden to return a MemoryPostingsFormat for a particular field). I > attempted to upgrade using IndexUpgrader to a 4.8.1 index, and it failed > with a CorruptIndexException. Digging a little deeper, it seems > like MemoryPostingsFormat did not use a header (as supplied > by org.apache.lucene.codecs.CodecUtil) in 4.5, but now does in 4.8, so the > on-disk formats are incompatible. > > I know MemoryPostingsFormat is experimental, subject to change, etc, but > has anyone given any thought to allowing an upgrade in scenarios like > this? I think for my existing index it's too late, since the name "Memory" > is already written into the segment, and the PostingsFormat returned by > NamedSPILoader for "Memory" will be one that only allows reading 4.8 > "Memory" postings. Maybe in the future it would be nice to do something as > simple as having the PostingsFormats in the lucene-codecs package have a > version in the name (i.e. Memory45, Memory48) so that at least I could do > the work of porting the 4.5 code to 4.8 enough to allow an upgrade if > needed? Or maybe there's some API that I'm unaware of that I can hook into > the loading of old format segments and return an alternate postings format? > (looking at the code nothing like this seems to exist, but wanted to double > check) --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org