Upgrade to Elasticsearch 9.2.0

Original Pull Request #3191
Closes: #3190
Signed-off-by: Peter-Josef Meisch <pj.meisch@sothawo.com>
This commit is contained in:
Peter-Josef Meisch 2025-10-27 18:16:34 +01:00 committed by GitHub
parent 21bc62b78c
commit 828f588f3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 40 additions and 43 deletions

View File

@ -21,8 +21,8 @@
<springdata.commons>4.0.0-SNAPSHOT</springdata.commons>
<!-- version of the ElasticsearchClient -->
<elasticsearch-java>9.1.5</elasticsearch-java>
<elasticsearch-rest-client>9.1.5</elasticsearch-rest-client>
<elasticsearch-java>9.2.0</elasticsearch-java>
<elasticsearch-rest-client>9.2.0</elasticsearch-rest-client>
<hoverfly>0.20.2</hoverfly>
<log4j>2.25.1</log4j>

View File

@ -6,7 +6,7 @@
* Upgrade to Spring 7
* Switch to jspecify nullability annotations
* Upgrade to Elasticsearch 9.1.5
* Upgrade to Elasticsearch 9.2.0
* Use the new Elasticsearch Rest5Client as default
* Add support for SpEL expressions in the `settingPath` parameter of the `@Setting` annotation

View File

@ -6,7 +6,7 @@ The following table shows the Elasticsearch and Spring versions that are used by
[cols="^,^,^,^",options="header"]
|===
| Spring Data Release Train | Spring Data Elasticsearch | Elasticsearch | Spring Framework
| 2025.1 (in development) | 6.0.x | 9.1.5 | 7.0.x
| 2025.1 (in development) | 6.0.x | 9.2.0 | 7.0.x
| 2025.0 | 5.5.x | 8.18.1 | 6.2.x
| 2024.1 | 5.4.x | 8.15.5 | 6.1.x
| 2024.0 | 5.3.xfootnote:oom[Out of maintenance] | 8.13.4 | 6.1.x

View File

@ -108,16 +108,14 @@ public @interface Document {
Alias[] aliases() default {};
/**
* Note: the enum value FORCE, which was introduced in 4.4 has been removed
* again by Elasticsearch.
* @since 4.3
*/
enum VersionType {
INTERNAL("internal"), //
EXTERNAL("external"), //
EXTERNAL_GTE("external_gte"), //
/**
* @since 4.4
*/
FORCE("force");
EXTERNAL_GTE("external_gte"); //
private final String esName;

View File

@ -1992,7 +1992,6 @@ class RequestConverter extends AbstractQueryProcessor {
case INTERNAL -> VersionType.Internal;
case EXTERNAL -> VersionType.External;
case EXTERNAL_GTE -> VersionType.ExternalGte;
case FORCE -> VersionType.Force;
};
}
}

View File

@ -424,7 +424,6 @@ final class TypeUtils {
case INTERNAL -> VersionType.Internal;
case EXTERNAL -> VersionType.External;
case EXTERNAL_GTE -> VersionType.ExternalGte;
case FORCE -> VersionType.Force;
};
}

View File

@ -17,6 +17,7 @@ package org.springframework.data.elasticsearch.core.geo;
import java.util.Objects;
import org.jspecify.annotations.NonNull;
import org.jspecify.annotations.Nullable;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
@ -30,31 +31,31 @@ public class GeoJsonEntity {
@Nullable
@Id private String id;
@Nullable private GeoJsonPoint point1;
@Nullable private GeoJson<? extends Iterable<?>> point2;
@Nullable private GeoJson<? extends @NonNull Iterable<?>> point2;
@Nullable private GeoJsonMultiPoint multiPoint1;
@Nullable private GeoJson<Iterable<Point>> multiPoint2;
@Nullable private GeoJson<@NonNull Iterable<Point>> multiPoint2;
@Nullable private GeoJsonLineString lineString1;
@Nullable private GeoJson<Iterable<Point>> lineString2;
@Nullable private GeoJson<@NonNull Iterable<Point>> lineString2;
@Nullable private GeoJsonMultiLineString multiLineString1;
@Nullable private GeoJson<Iterable<GeoJsonLineString>> multiLineString2;
@Nullable private GeoJson<@NonNull Iterable<GeoJsonLineString>> multiLineString2;
@Nullable private GeoJsonPolygon polygon1;
@Nullable private GeoJson<Iterable<GeoJsonLineString>> polygon2;
@Nullable private GeoJson<@NonNull Iterable<GeoJsonLineString>> polygon2;
@Nullable private GeoJsonMultiPolygon multiPolygon1;
@Nullable private GeoJson<Iterable<GeoJsonPolygon>> multiPolygon2;
@Nullable private GeoJson<@NonNull Iterable<GeoJsonPolygon>> multiPolygon2;
@Nullable private GeoJsonGeometryCollection geometryCollection1;
@Nullable private GeoJson<Iterable<GeoJson<?>>> geometryCollection2;
@Nullable private GeoJson<@NonNull Iterable<GeoJson<?>>> geometryCollection2;
public GeoJsonEntity() {}
public GeoJsonEntity(@Nullable String id, @Nullable GeoJsonPoint point1,
@Nullable GeoJson<? extends Iterable<?>> point2, @Nullable GeoJsonMultiPoint multiPoint1,
@Nullable GeoJson<Iterable<Point>> multiPoint2, @Nullable GeoJsonLineString lineString1,
@Nullable GeoJson<Iterable<Point>> lineString2, @Nullable GeoJsonMultiLineString multiLineString1,
@Nullable GeoJson<Iterable<GeoJsonLineString>> multiLineString2, @Nullable GeoJsonPolygon polygon1,
@Nullable GeoJson<Iterable<GeoJsonLineString>> polygon2, @Nullable GeoJsonMultiPolygon multiPolygon1,
@Nullable GeoJson<Iterable<GeoJsonPolygon>> multiPolygon2,
@Nullable GeoJson<? extends @NonNull Iterable<?>> point2, @Nullable GeoJsonMultiPoint multiPoint1,
@Nullable GeoJson<@NonNull Iterable<Point>> multiPoint2, @Nullable GeoJsonLineString lineString1,
@Nullable GeoJson<@NonNull Iterable<Point>> lineString2, @Nullable GeoJsonMultiLineString multiLineString1,
@Nullable GeoJson<@NonNull Iterable<GeoJsonLineString>> multiLineString2, @Nullable GeoJsonPolygon polygon1,
@Nullable GeoJson<@NonNull Iterable<GeoJsonLineString>> polygon2, @Nullable GeoJsonMultiPolygon multiPolygon1,
@Nullable GeoJson<@NonNull Iterable<GeoJsonPolygon>> multiPolygon2,
@Nullable GeoJsonGeometryCollection geometryCollection1,
@Nullable GeoJson<Iterable<GeoJson<?>>> geometryCollection2) {
@Nullable GeoJson<@NonNull Iterable<GeoJson<?>>> geometryCollection2) {
this.id = id;
this.point1 = point1;
this.point2 = point2;
@ -91,11 +92,11 @@ public class GeoJsonEntity {
}
@Nullable
public GeoJson<? extends Iterable<?>> getPoint2() {
public GeoJson<? extends @NonNull Iterable<?>> getPoint2() {
return point2;
}
public void setPoint2(@Nullable GeoJson<? extends Iterable<?>> point2) {
public void setPoint2(@Nullable GeoJson<? extends @NonNull Iterable<?>> point2) {
this.point2 = point2;
}
@ -109,11 +110,11 @@ public class GeoJsonEntity {
}
@Nullable
public GeoJson<Iterable<Point>> getMultiPoint2() {
public GeoJson<@NonNull Iterable<Point>> getMultiPoint2() {
return multiPoint2;
}
public void setMultiPoint2(@Nullable GeoJson<Iterable<Point>> multiPoint2) {
public void setMultiPoint2(@Nullable GeoJson<@NonNull Iterable<Point>> multiPoint2) {
this.multiPoint2 = multiPoint2;
}
@ -127,11 +128,11 @@ public class GeoJsonEntity {
}
@Nullable
public GeoJson<Iterable<Point>> getLineString2() {
public GeoJson<@NonNull Iterable<Point>> getLineString2() {
return lineString2;
}
public void setLineString2(@Nullable GeoJson<Iterable<Point>> lineString2) {
public void setLineString2(@Nullable GeoJson<@NonNull Iterable<Point>> lineString2) {
this.lineString2 = lineString2;
}
@ -145,11 +146,11 @@ public class GeoJsonEntity {
}
@Nullable
public GeoJson<Iterable<GeoJsonLineString>> getMultiLineString2() {
public GeoJson<@NonNull Iterable<GeoJsonLineString>> getMultiLineString2() {
return multiLineString2;
}
public void setMultiLineString2(@Nullable GeoJson<Iterable<GeoJsonLineString>> multiLineString2) {
public void setMultiLineString2(@Nullable GeoJson<@NonNull Iterable<GeoJsonLineString>> multiLineString2) {
this.multiLineString2 = multiLineString2;
}
@ -163,11 +164,11 @@ public class GeoJsonEntity {
}
@Nullable
public GeoJson<Iterable<GeoJsonLineString>> getPolygon2() {
public GeoJson<@NonNull Iterable<GeoJsonLineString>> getPolygon2() {
return polygon2;
}
public void setPolygon2(@Nullable GeoJson<Iterable<GeoJsonLineString>> polygon2) {
public void setPolygon2(@Nullable GeoJson<@NonNull Iterable<GeoJsonLineString>> polygon2) {
this.polygon2 = polygon2;
}
@ -181,11 +182,11 @@ public class GeoJsonEntity {
}
@Nullable
public GeoJson<Iterable<GeoJsonPolygon>> getMultiPolygon2() {
public GeoJson<@NonNull Iterable<GeoJsonPolygon>> getMultiPolygon2() {
return multiPolygon2;
}
public void setMultiPolygon2(@Nullable GeoJson<Iterable<GeoJsonPolygon>> multiPolygon2) {
public void setMultiPolygon2(@Nullable GeoJson<@NonNull Iterable<GeoJsonPolygon>> multiPolygon2) {
this.multiPolygon2 = multiPolygon2;
}
@ -199,11 +200,11 @@ public class GeoJsonEntity {
}
@Nullable
public GeoJson<Iterable<GeoJson<?>>> getGeometryCollection2() {
public GeoJson<@NonNull Iterable<GeoJson<?>>> getGeometryCollection2() {
return geometryCollection2;
}
public void setGeometryCollection2(@Nullable GeoJson<Iterable<GeoJson<?>>> geometryCollection2) {
public void setGeometryCollection2(@Nullable GeoJson<@NonNull Iterable<GeoJson<?>>> geometryCollection2) {
this.geometryCollection2 = geometryCollection2;
}

View File

@ -115,7 +115,7 @@ abstract class GeoJsonIntegrationTests {
));
GeoJsonPolygon geoJsonPolygon = GeoJsonPolygon
.of(new Point(12, 34), new Point(56, 78), new Point(90, 12), new Point(12, 34))
.withInnerRing(new Point(21, 43), new Point(65, 87), new Point(9, 21), new Point(21, 43));
.withInnerRing(new Point(35, 35), new Point(65, 30), new Point(55, 50), new Point(35, 35));
GeoJsonMultiPolygon geoJsonMultiPolygon = GeoJsonMultiPolygon
.of(Arrays.asList(GeoJsonPolygon.of(new Point(12, 34), new Point(56, 78), new Point(90, 12), new Point(12, 34)),
GeoJsonPolygon.of(new Point(21, 43), new Point(65, 87), new Point(9, 21), new Point(21, 43))));

View File

@ -15,7 +15,7 @@
#
#
sde.testcontainers.image-name=docker.elastic.co/elasticsearch/elasticsearch
sde.testcontainers.image-version=9.1.5
sde.testcontainers.image-version=9.2.0
#
#
# needed as we do a DELETE /* at the end of the tests, will be required from 8.0 on, produces a warning since 7.13