Indeed DirectDocValuesFormat had a back-compat break between 4.x and 5.x ... this is expected/allowed (it is an experimental format).
You should be able to do something like this to more forwards: * In 4.x, open a new IndexWriter, using the default Codec (which is back-compat) * Use addIndexes to add in your indices that use DirectDocValuesFormat * Upgrade to 5.x * Open a new IndexWriter, with your Codec that uses DirectDocValuesFormat * Use addIndexes to add the index Mike McCandless http://blog.mikemccandless.com On Tue, Jun 16, 2015 at 4:33 AM, Sven Teichmann <s.teichm...@s4ip.de> wrote: > Today I tried to upgrade a Lucene 4.10 index to 5.2 using the IndexUpgrader. > This throws the following exception: > > Exception in thread "Lucene Merge Thread #0" > org.apache.lucene.index.MergePolicy$MergeException: > org.apache.lucene.index.IndexFormatTooOldException: Format version is > not supported (resource > BufferedChecksumIndexInput(MMapIndexInput(path="/data/title_lu5_en_201506/vol2/_0_Direct_0.dvdm"))): > 2 (needs to be between 3 and 3). This version of Lucene only supports > indexes created with release 4.0 and later. > at > org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:673) > at > org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:641) > Caused by: org.apache.lucene.index.IndexFormatTooOldException: Format > version is not supported (resource > BufferedChecksumIndexInput(MMapIndexInput(path="/data/title_lu5_en_201506/vol2/_0_Direct_0.dvdm"))): > 2 (needs to be between 3 and 3). This version of Lucene only supports > indexes created with release 4.0 and later. > at > org.apache.lucene.codecs.CodecUtil.checkHeaderNoMagic(CodecUtil.java:214) > at org.apache.lucene.codecs.CodecUtil.checkHeader(CodecUtil.java:199) > at > org.apache.lucene.codecs.CodecUtil.checkIndexHeader(CodecUtil.java:256) > at > org.apache.lucene.codecs.memory.DirectDocValuesProducer.<init>(DirectDocValuesProducer.java:126) > at > org.apache.lucene.codecs.memory.DirectDocValuesFormat.fieldsProducer(DirectDocValuesFormat.java:76) > at > org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsReader.<init>(PerFieldDocValuesFormat.java:268) > at > org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat.fieldsProducer(PerFieldDocValuesFormat.java:358) > at > org.apache.lucene.index.SegmentDocValues.newDocValuesProducer(SegmentDocValues.java:51) > at > org.apache.lucene.index.SegmentDocValues.getDocValuesProducer(SegmentDocValues.java:67) > at > org.apache.lucene.index.SegmentReader.initDocValuesProducer(SegmentReader.java:141) > at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:81) > at > org.apache.lucene.index.ReadersAndUpdates.getReader(ReadersAndUpdates.java:132) > at > org.apache.lucene.index.ReadersAndUpdates.getReaderForMerge(ReadersAndUpdates.java:604) > at > org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3893) > at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3543) > at > org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:581) > at > org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:619) > > > We use DirectDocValuesFormat for two fields and I think that this is the > problem. > > Any ideas how to upgrade the index to 5.2 anyway? > > Thanks for your help! > > Sven > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org