diff --git a/pom.xml b/pom.xml
index b3702ccf7..e3a56fb8f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,8 +21,8 @@
4.1.0-SNAPSHOT
- 9.2.5
- 9.2.5
+ 9.3.1
+ 9.3.1
0.20.2
2.25.3
diff --git a/src/main/antora/modules/ROOT/pages/elasticsearch/elasticsearch-new.adoc b/src/main/antora/modules/ROOT/pages/elasticsearch/elasticsearch-new.adoc
index 37ecb9402..147f59028 100644
--- a/src/main/antora/modules/ROOT/pages/elasticsearch/elasticsearch-new.adoc
+++ b/src/main/antora/modules/ROOT/pages/elasticsearch/elasticsearch-new.adoc
@@ -4,7 +4,7 @@
[[new-features.6-1-0]]
== New in Spring Data Elasticsearch 6.1
-* Upgrade to Elasticsearch 9.2.5
+* Upgrade to Elasticsearch 9.3.1
* Add support to use `IndexCoordinates` as repository query parameter
* Add support for includeNamedQueriesScore in Query
diff --git a/src/main/antora/modules/ROOT/pages/elasticsearch/versions.adoc b/src/main/antora/modules/ROOT/pages/elasticsearch/versions.adoc
index 0d656d36b..31efc3dc8 100644
--- a/src/main/antora/modules/ROOT/pages/elasticsearch/versions.adoc
+++ b/src/main/antora/modules/ROOT/pages/elasticsearch/versions.adoc
@@ -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
-| 2026.0 | 6.1.x | 9.2.5 | 7.0.x
+| 2026.0 | 6.1.x | 9.3.1 | 7.0.x
| 2025.1 | 6.0.x | 9.2.2 | 7.0.x
| 2025.0 | 5.5.x | 8.18.1 | 6.2.x
| 2024.1 | 5.4.xfootnote:oom[Out of maintenance] | 8.15.5 | 6.1.x
diff --git a/src/main/java/org/springframework/data/elasticsearch/client/elc/RequestConverter.java b/src/main/java/org/springframework/data/elasticsearch/client/elc/RequestConverter.java
index fa4019640..ec3c77c76 100644
--- a/src/main/java/org/springframework/data/elasticsearch/client/elc/RequestConverter.java
+++ b/src/main/java/org/springframework/data/elasticsearch/client/elc/RequestConverter.java
@@ -900,8 +900,17 @@ class RequestConverter extends AbstractQueryProcessor {
}
SourceFilter sourceFilter = source.getSourceFilter();
- if (sourceFilter != null && sourceFilter.getIncludes() != null) {
- s.sourceFields(Arrays.asList(sourceFilter.getIncludes()));
+ if (sourceFilter != null && (sourceFilter.getIncludes() != null || sourceFilter.getExcludes() != null)) {
+ s.sourceFields(cfg -> cfg
+ .filter(f -> {
+ if (sourceFilter.getIncludes() != null) {
+ f.includes(Arrays.asList(sourceFilter.getIncludes()));
+ }
+ if (sourceFilter.getExcludes() != null) {
+ f.excludes(Arrays.asList(sourceFilter.getExcludes()));
+ }
+ return f;
+ }));
}
return s;
}) //
diff --git a/src/test/resources/testcontainers-elasticsearch.properties b/src/test/resources/testcontainers-elasticsearch.properties
index 529bbc00d..7de0937b4 100644
--- a/src/test/resources/testcontainers-elasticsearch.properties
+++ b/src/test/resources/testcontainers-elasticsearch.properties
@@ -15,7 +15,7 @@
#
#
sde.testcontainers.image-name=docker.elastic.co/elasticsearch/elasticsearch
-sde.testcontainers.image-version=9.2.5
+sde.testcontainers.image-version=9.3.1
#
#
# 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