Skip to content

Commit 7fa3cb7

Browse files
authored
Upgrade to Elasticsearch 8.13.4.
Original Pull Request #2917 Closes #2916
1 parent ba9edf8 commit 7fa3cb7

File tree

7 files changed

+54
-5
lines changed

7 files changed

+54
-5
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<springdata.commons>3.3.1-SNAPSHOT</springdata.commons>
2222

2323
<!-- version of the ElasticsearchClient -->
24-
<elasticsearch-java>8.13.2</elasticsearch-java>
24+
<elasticsearch-java>8.13.4</elasticsearch-java>
2525

2626
<blockhound-junit>1.0.8.RELEASE</blockhound-junit>
2727
<hoverfly>0.14.4</hoverfly>

src/main/antora/modules/ROOT/pages/elasticsearch/elasticsearch-new.adoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
[[new-features]]
22
= What's new
33

4+
[[new-features.5-3-1]]
5+
== New in Spring Data Elasticsearch 5.3.1
6+
7+
* Upgrade to Elasticsearch 8.13.4.
8+
49
[[new-features.5-3-0]]
510
== New in Spring Data Elasticsearch 5.3
611

src/main/antora/modules/ROOT/pages/elasticsearch/versions.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The following table shows the Elasticsearch and Spring versions that are used by
66
[cols="^,^,^,^",options="header"]
77
|===
88
| Spring Data Release Train | Spring Data Elasticsearch | Elasticsearch | Spring Framework
9-
| 2024.0 (?) | 5.3.x | 8.13.2 | ?
9+
| 2024.0 | 5.3.1 | 8.13.4 | 6.1.x
1010
| 2023.1 (Vaughan) | 5.2.x | 8.11.1 | 6.1.x
1111
| 2023.0 (Ullmann) | 5.1.x | 8.7.1 | 6.0.x
1212
| 2022.0 (Turing) | 5.0.xfootnote:oom[Out of maintenance] | 8.5.3 | 6.0.x

src/main/java/org/springframework/data/elasticsearch/client/elc/NativeQuery.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.springframework.data.elasticsearch.client.elc;
1717

1818
import co.elastic.clients.elasticsearch._types.KnnQuery;
19+
import co.elastic.clients.elasticsearch._types.KnnSearch;
1920
import co.elastic.clients.elasticsearch._types.SortOptions;
2021
import co.elastic.clients.elasticsearch._types.aggregations.Aggregation;
2122
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
@@ -54,6 +55,7 @@ public class NativeQuery extends BaseQuery {
5455

5556
private Map<String, JsonData> searchExtensions = Collections.emptyMap();
5657
@Nullable private KnnQuery knnQuery;
58+
@Nullable private List<KnnSearch> knnSearches = Collections.emptyList();
5759

5860
public NativeQuery(NativeQueryBuilder builder) {
5961
super(builder);
@@ -71,6 +73,7 @@ public NativeQuery(NativeQueryBuilder builder) {
7173
}
7274
this.springDataQuery = builder.getSpringDataQuery();
7375
this.knnQuery = builder.getKnnQuery();
76+
this.knnSearches = builder.getKnnSearches();
7477
}
7578

7679
public NativeQuery(@Nullable Query query) {
@@ -129,6 +132,14 @@ public KnnQuery getKnnQuery() {
129132
return knnQuery;
130133
}
131134

135+
/**
136+
* @since 5.3.1
137+
*/
138+
@Nullable
139+
public List<KnnSearch> getKnnSearches() {
140+
return knnSearches;
141+
}
142+
132143
@Nullable
133144
public org.springframework.data.elasticsearch.core.query.Query getSpringDataQuery() {
134145
return springDataQuery;

src/main/java/org/springframework/data/elasticsearch/client/elc/NativeQueryBuilder.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.springframework.data.elasticsearch.client.elc;
1717

1818
import co.elastic.clients.elasticsearch._types.KnnQuery;
19+
import co.elastic.clients.elasticsearch._types.KnnSearch;
1920
import co.elastic.clients.elasticsearch._types.SortOptions;
2021
import co.elastic.clients.elasticsearch._types.aggregations.Aggregation;
2122
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
@@ -26,6 +27,7 @@
2627

2728
import java.util.ArrayList;
2829
import java.util.Arrays;
30+
import java.util.Collections;
2931
import java.util.LinkedHashMap;
3032
import java.util.List;
3133
import java.util.Map;
@@ -52,6 +54,7 @@ public class NativeQueryBuilder extends BaseQueryBuilder<NativeQuery, NativeQuer
5254

5355
@Nullable private org.springframework.data.elasticsearch.core.query.Query springDataQuery;
5456
@Nullable private KnnQuery knnQuery;
57+
@Nullable private List<KnnSearch> knnSearches = Collections.emptyList();
5558

5659
public NativeQueryBuilder() {}
5760

@@ -92,6 +95,14 @@ public KnnQuery getKnnQuery() {
9295
return knnQuery;
9396
}
9497

98+
/**
99+
* @since 5.3.1
100+
*/
101+
@Nullable
102+
public List<KnnSearch> getKnnSearches() {
103+
return knnSearches;
104+
}
105+
95106
@Nullable
96107
public org.springframework.data.elasticsearch.core.query.Query getSpringDataQuery() {
97108
return springDataQuery;

src/main/java/org/springframework/data/elasticsearch/client/elc/RequestConverter.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1719,7 +1719,18 @@ private void prepareNativeSearch(NativeQuery query, SearchRequest.Builder builde
17191719
;
17201720

17211721
if (query.getKnnQuery() != null) {
1722-
builder.knn(query.getKnnQuery());
1722+
var kq = query.getKnnQuery();
1723+
builder.knn(ksb -> ksb
1724+
.field(kq.field())
1725+
.queryVector(kq.queryVector())
1726+
.numCandidates(kq.numCandidates())
1727+
.filter(kq.filter())
1728+
.similarity(kq.similarity()));
1729+
1730+
}
1731+
1732+
if (!isEmpty(query.getKnnSearches())) {
1733+
builder.knn(query.getKnnSearches());
17231734
}
17241735

17251736
if (!isEmpty(query.getAggregations())) {
@@ -1740,7 +1751,18 @@ private void prepareNativeSearch(NativeQuery query, MultisearchBody.Builder buil
17401751
.sort(query.getSortOptions());
17411752

17421753
if (query.getKnnQuery() != null) {
1743-
builder.knn(query.getKnnQuery());
1754+
var kq = query.getKnnQuery();
1755+
builder.knn(ksb -> ksb
1756+
.field(kq.field())
1757+
.queryVector(kq.queryVector())
1758+
.numCandidates(kq.numCandidates())
1759+
.filter(kq.filter())
1760+
.similarity(kq.similarity()));
1761+
1762+
}
1763+
1764+
if (!isEmpty(query.getKnnSearches())) {
1765+
builder.knn(query.getKnnSearches());
17441766
}
17451767

17461768
if (!isEmpty(query.getAggregations())) {

src/test/resources/testcontainers-elasticsearch.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#
1616
#
1717
sde.testcontainers.image-name=docker.elastic.co/elasticsearch/elasticsearch
18-
sde.testcontainers.image-version=8.13.2
18+
sde.testcontainers.image-version=8.13.4
1919
#
2020
#
2121
# 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

0 commit comments

Comments
 (0)