diff --git a/build.gradle b/build.gradle index 4f5fcfdab274..79e58db8002c 100644 --- a/build.gradle +++ b/build.gradle @@ -36,7 +36,7 @@ apply from: file('gradle/globals.gradle') // Calculate project version: version = { // Release manager: update base version here after release: - String baseVersion = '9.7.1' + String baseVersion = '9.7.0' // On a release explicitly set release version in one go: // -Dversion.release=x.y.z @@ -44,8 +44,8 @@ version = { // Jenkins can just set just a suffix, overriding SNAPSHOT, e.g. using build id: // -Dversion.suffix=jenkins123 - String versionSuffix = propertyOrDefault('version.suffix', 'SNAPSHOT') - return propertyOrDefault('version.release', "${baseVersion}-${versionSuffix}") + //String versionSuffix = propertyOrDefault('version.suffix', '') + return propertyOrDefault('version.release', "${baseVersion}") }() description = 'Grandparent project for Apache Lucene Core' diff --git a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java index 4b494a042e24..52bfe0af1848 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesConsumer.java @@ -121,6 +121,14 @@ public abstract void addSortedNumericField(FieldInfo field, DocValuesProducer va public abstract void addSortedSetField(FieldInfo field, DocValuesProducer valuesProducer) throws IOException; + /** + * Aggregate doc values + * + * @throws IOException if an I/O error occurred + */ + public void aggregate() throws IOException { + // default no op + } /** * Merges in the fields from the readers in mergeState. The default implementation * calls {@link #mergeNumericField}, {@link #mergeBinaryField}, {@link #mergeSortedField}, {@link diff --git a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesProducer.java b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesProducer.java index 2731bccd0671..6112e355de1e 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/DocValuesProducer.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/DocValuesProducer.java @@ -92,4 +92,13 @@ protected DocValuesProducer() {} public DocValuesProducer getMergeInstance() { return this; } + + /** StarTreeAggregatedValues is the return type + * Todo : don't return object + * + */ + public Object getAggregatedDocValues() throws IOException { + // No-op by default + return null; + } } diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene95/Lucene95Codec.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene95/Lucene95Codec.java index fd495b6026fe..94d20919f5a0 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/lucene95/Lucene95Codec.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene95/Lucene95Codec.java @@ -206,7 +206,7 @@ public KnnVectorsFormat getKnnVectorsFormatForField(String field) { } @Override - public final DocValuesFormat docValuesFormat() { + public DocValuesFormat docValuesFormat() { return docValuesFormat; } diff --git a/lucene/core/src/java/org/apache/lucene/index/CodecReader.java b/lucene/core/src/java/org/apache/lucene/index/CodecReader.java index 5d184aa4ee15..e251dc2044cf 100644 --- a/lucene/core/src/java/org/apache/lucene/index/CodecReader.java +++ b/lucene/core/src/java/org/apache/lucene/index/CodecReader.java @@ -183,6 +183,11 @@ public final SortedDocValues getSortedDocValues(String field) throws IOException return getDocValuesReader().getSorted(fi); } + @Override + public final Object getAggregatedDocValues() throws IOException { + return getDocValuesReader().getAggregatedDocValues(); + } + @Override public final SortedNumericDocValues getSortedNumericDocValues(String field) throws IOException { ensureOpen(); diff --git a/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java b/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java index e7e25adec778..ef707e7b8c43 100644 --- a/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java +++ b/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java @@ -429,6 +429,13 @@ public NumericDocValues getNumericDocValues(String field) throws IOException { return in.getNumericDocValues(field); } + @Override + public Object getAggregatedDocValues() throws IOException { + ensureOpen(); + return in.getAggregatedDocValues(); + } + + @Override public BinaryDocValues getBinaryDocValues(String field) throws IOException { ensureOpen(); diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexingChain.java b/lucene/core/src/java/org/apache/lucene/index/IndexingChain.java index a68a84ff5ac7..9e45a3aa8304 100644 --- a/lucene/core/src/java/org/apache/lucene/index/IndexingChain.java +++ b/lucene/core/src/java/org/apache/lucene/index/IndexingChain.java @@ -181,6 +181,12 @@ public SortedDocValues getSortedDocValues(String field) throws IOException { return null; } + @Override + public Object getAggregatedDocValues() + throws IOException { + return null; + } + @Override public SortedNumericDocValues getSortedNumericDocValues(String field) throws IOException { PerField pf = getPerField(field); @@ -413,7 +419,8 @@ private void writeDocValues(SegmentWriteState state, Sorter.DocMap sortMap) thro perField = perField.next; } } - + // IMPORTANT : This call creates the star tree data structures along with the associated doc values in the POC + if (dvConsumer != null) dvConsumer.aggregate(); // TODO: catch missing DV fields here? else we have // null/"" depending on how docs landed in segments? // but we can't detect all cases, and we should leave @@ -885,6 +892,12 @@ public SortedDocValues getSortedDocValues(String field) { return DocValues.emptySorted(); } + @Override + public Object getAggregatedDocValues() + throws IOException { + return null; + } + @Override public SortedNumericDocValues getSortedNumericDocValues(String field) { if (Objects.equals(field, fieldToValidate) diff --git a/lucene/core/src/java/org/apache/lucene/index/LeafReader.java b/lucene/core/src/java/org/apache/lucene/index/LeafReader.java index 767874cc87d7..19d5a466401f 100644 --- a/lucene/core/src/java/org/apache/lucene/index/LeafReader.java +++ b/lucene/core/src/java/org/apache/lucene/index/LeafReader.java @@ -180,6 +180,13 @@ public final PostingsEnum postings(Term term) throws IOException { */ public abstract SortedDocValues getSortedDocValues(String field) throws IOException; + /** + * Aggregate doc values + * + * @throws IOException if an I/O error occurred + */ + public abstract Object getAggregatedDocValues() throws IOException; + /** * Returns {@link SortedNumericDocValues} for this field, or null if no {@link * SortedNumericDocValues} were indexed for this field. The returned instance should only be used diff --git a/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java b/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java index 690ccb697e51..d687605d9eb3 100644 --- a/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java +++ b/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java @@ -405,6 +405,12 @@ public SortedDocValues getSortedDocValues(String field) throws IOException { return reader == null ? null : reader.getSortedDocValues(field); } + @Override + public Object getAggregatedDocValues() + throws IOException { + return null; + } + @Override public SortedNumericDocValues getSortedNumericDocValues(String field) throws IOException { ensureOpen(); diff --git a/lucene/core/src/java/org/apache/lucene/util/Version.java b/lucene/core/src/java/org/apache/lucene/util/Version.java index e7c86cdb0ab1..636aecf3624f 100644 --- a/lucene/core/src/java/org/apache/lucene/util/Version.java +++ b/lucene/core/src/java/org/apache/lucene/util/Version.java @@ -263,17 +263,12 @@ public final class Version { */ @Deprecated public static final Version LUCENE_9_6_0 = new Version(9, 6, 0); - /** - * @deprecated (9.7.1) Use latest - */ - @Deprecated public static final Version LUCENE_9_7_0 = new Version(9, 7, 0); - /** * Match settings and bugs in Lucene's 9.7.1 release. * *

Use this to get the latest & greatest settings, bug fixes, etc, for Lucene. */ - public static final Version LUCENE_9_7_1 = new Version(9, 7, 1); + public static final Version LUCENE_9_7_0 = new Version(9, 7, 0); // To add a new version: // * Only add above this comment @@ -289,7 +284,7 @@ public final class Version { * re-test your entire application to ensure it behaves as expected, as some defaults may * have changed and may break functionality in your application. */ - public static final Version LATEST = LUCENE_9_7_1; + public static final Version LATEST = LUCENE_9_7_0; /** * Constant for backwards compatibility. diff --git a/lucene/test-framework/src/java/org/apache/lucene/tests/index/MergeReaderWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/tests/index/MergeReaderWrapper.java index 085f32d0078b..17d680ad7923 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/tests/index/MergeReaderWrapper.java +++ b/lucene/test-framework/src/java/org/apache/lucene/tests/index/MergeReaderWrapper.java @@ -149,6 +149,12 @@ public SortedDocValues getSortedDocValues(String field) throws IOException { return docValues.getSorted(fi); } + @Override + public Object getAggregatedDocValues() + throws IOException { + return null; + } + @Override public SortedNumericDocValues getSortedNumericDocValues(String field) throws IOException { ensureOpen(); diff --git a/lucene/test-framework/src/java/org/apache/lucene/tests/search/QueryUtils.java b/lucene/test-framework/src/java/org/apache/lucene/tests/search/QueryUtils.java index da25bd3acc8a..c8a1b3a01c57 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/tests/search/QueryUtils.java +++ b/lucene/test-framework/src/java/org/apache/lucene/tests/search/QueryUtils.java @@ -210,6 +210,12 @@ public SortedDocValues getSortedDocValues(String field) throws IOException { return null; } + @Override + public Object getAggregatedDocValues() + throws IOException { + return null; + } + @Override public SortedNumericDocValues getSortedNumericDocValues(String field) throws IOException { return null;