diff --git a/src/main/java/org/trypticon/luceneupgrader/lucene9/internal/lucene/index/FieldInfos.java b/src/main/java/org/trypticon/luceneupgrader/lucene9/internal/lucene/index/FieldInfos.java index bc05794b..6b9f352a 100644 --- a/src/main/java/org/trypticon/luceneupgrader/lucene9/internal/lucene/index/FieldInfos.java +++ b/src/main/java/org/trypticon/luceneupgrader/lucene9/internal/lucene/index/FieldInfos.java @@ -440,7 +440,12 @@ static final class FieldNumbers { this.omitNorms = new HashMap<>(); this.storeTermVectors = new HashMap<>(); this.softDeletesFieldName = softDeletesFieldName; - this.strictlyConsistent = indexCreatedVersionMajor >= 9; + + // Don't perform "strictly consistent" checking as Lucene 8/9 semantics differ. Lucene 8 sets "term vectors" to false + // even if a field was declared to use "term vectors", but it emitted no terms in the entire segment. + // Lucene 9 seems to rely on the declared field. Disabling this check to avoid these headaches. + this.strictlyConsistent = false; + // this.strictlyConsistent = indexCreatedVersionMajor >= 9; this.parentFieldName = parentFieldName; if (softDeletesFieldName != null && parentFieldName != null diff --git a/src/main/resources/META-INF/services/org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.Codec b/src/main/resources/META-INF/services/org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.Codec index 75fbba7c..09fabad1 100644 --- a/src/main/resources/META-INF/services/org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.Codec +++ b/src/main/resources/META-INF/services/org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.Codec @@ -15,6 +15,7 @@ org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.lucene912.Lucene912Codec +org.trypticon.luceneupgrader.lucene9.internal.lucene.backward_codecs.lucene99.Lucene99Codec org.trypticon.luceneupgrader.lucene9.internal.lucene.backward_codecs.lucene95.Lucene95Codec org.trypticon.luceneupgrader.lucene9.internal.lucene.backward_codecs.lucene80.Lucene80Codec org.trypticon.luceneupgrader.lucene9.internal.lucene.backward_codecs.lucene84.Lucene84Codec diff --git a/src/main/resources/META-INF/services/org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.PostingsFormat b/src/main/resources/META-INF/services/org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.PostingsFormat index fb273ebe..dc2be554 100644 --- a/src/main/resources/META-INF/services/org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.PostingsFormat +++ b/src/main/resources/META-INF/services/org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.PostingsFormat @@ -15,6 +15,7 @@ org.trypticon.luceneupgrader.lucene9.internal.lucene.codecs.lucene912.Lucene912PostingsFormat +org.trypticon.luceneupgrader.lucene9.internal.lucene.backward_codecs.lucene99.Lucene99PostingsFormat org.trypticon.luceneupgrader.lucene9.internal.lucene.backward_codecs.lucene90.Lucene90PostingsFormat org.trypticon.luceneupgrader.lucene9.internal.lucene.backward_codecs.lucene84.Lucene84PostingsFormat org.trypticon.luceneupgrader.lucene9.internal.lucene.backward_codecs.lucene50.Lucene50PostingsFormat