Skip to content

Commit 485f2e1

Browse files
committed
[codegen] Update to latest API specification
1 parent 3f92995 commit 485f2e1

27 files changed

+1330
-598
lines changed

java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/KnnQuery.java renamed to java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnQuery.java

+187-44
Original file line numberDiff line numberDiff line change
@@ -21,49 +21,61 @@
2121
// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST.
2222
//----------------------------------------------------
2323

24-
package co.elastic.clients.elasticsearch._types.query_dsl;
24+
package co.elastic.clients.elasticsearch._types;
2525

26+
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
2627
import co.elastic.clients.json.JsonpDeserializable;
2728
import co.elastic.clients.json.JsonpDeserializer;
2829
import co.elastic.clients.json.JsonpMapper;
30+
import co.elastic.clients.json.JsonpSerializable;
31+
import co.elastic.clients.json.JsonpUtils;
2932
import co.elastic.clients.json.ObjectBuilderDeserializer;
3033
import co.elastic.clients.json.ObjectDeserializer;
3134
import co.elastic.clients.util.ApiTypeHelper;
3235
import co.elastic.clients.util.ObjectBuilder;
36+
import co.elastic.clients.util.WithJsonObjectBuilderBase;
3337
import jakarta.json.stream.JsonGenerator;
3438
import java.lang.Double;
35-
import java.lang.Integer;
39+
import java.lang.Float;
40+
import java.lang.Long;
3641
import java.lang.String;
3742
import java.util.List;
3843
import java.util.Objects;
3944
import java.util.function.Function;
4045
import javax.annotation.Nullable;
4146

42-
// typedef: _types.query_dsl.KnnQuery
47+
// typedef: _types.KnnQuery
4348

4449
/**
45-
* A k-nearest neighbor (kNN) search finds the k nearest vectors to a query
46-
* vector, as measured by a similarity metric.
47-
*
48-
* @see <a href="../../doc-files/api-spec.html#_types.query_dsl.KnnQuery">API
50+
*
51+
* @see <a href="../doc-files/api-spec.html#_types.KnnQuery">API
4952
* specification</a>
5053
*/
5154
@JsonpDeserializable
52-
public class KnnQuery extends QueryBase implements QueryVariant {
55+
public class KnnQuery implements JsonpSerializable {
5356
private final String field;
5457

55-
private final int numCandidates;
56-
5758
private final List<Double> queryVector;
5859

60+
private final long k;
61+
62+
private final long numCandidates;
63+
64+
@Nullable
65+
private final Float boost;
66+
67+
private final List<Query> filter;
68+
5969
// ---------------------------------------------------------------------------------------------
6070

6171
private KnnQuery(Builder builder) {
62-
super(builder);
6372

6473
this.field = ApiTypeHelper.requireNonNull(builder.field, this, "field");
65-
this.numCandidates = ApiTypeHelper.requireNonNull(builder.numCandidates, this, "numCandidates");
6674
this.queryVector = ApiTypeHelper.unmodifiableRequired(builder.queryVector, this, "queryVector");
75+
this.k = ApiTypeHelper.requireNonNull(builder.k, this, "k");
76+
this.numCandidates = ApiTypeHelper.requireNonNull(builder.numCandidates, this, "numCandidates");
77+
this.boost = builder.boost;
78+
this.filter = ApiTypeHelper.unmodifiable(builder.filter);
6779

6880
}
6981

@@ -72,43 +84,74 @@ public static KnnQuery of(Function<Builder, ObjectBuilder<KnnQuery>> fn) {
7284
}
7385

7486
/**
75-
* Query variant kind.
87+
* Required - The name of the vector field to search against
88+
* <p>
89+
* API name: {@code field}
7690
*/
77-
@Override
78-
public Query.Kind _queryKind() {
79-
return Query.Kind.Knn;
91+
public final String field() {
92+
return this.field;
8093
}
8194

8295
/**
83-
* Required - API name: {@code field}
96+
* Required - The query vector
97+
* <p>
98+
* API name: {@code query_vector}
8499
*/
85-
public final String field() {
86-
return this.field;
100+
public final List<Double> queryVector() {
101+
return this.queryVector;
87102
}
88103

89104
/**
90-
* Required - API name: {@code num_candidates}
105+
* Required - The final number of nearest neighbors to return as top hits
106+
* <p>
107+
* API name: {@code k}
91108
*/
92-
public final int numCandidates() {
109+
public final long k() {
110+
return this.k;
111+
}
112+
113+
/**
114+
* Required - The number of nearest neighbor candidates to consider per shard
115+
* <p>
116+
* API name: {@code num_candidates}
117+
*/
118+
public final long numCandidates() {
93119
return this.numCandidates;
94120
}
95121

96122
/**
97-
* Required - API name: {@code query_vector}
123+
* Boost value to apply to kNN scores
124+
* <p>
125+
* API name: {@code boost}
98126
*/
99-
public final List<Double> queryVector() {
100-
return this.queryVector;
127+
@Nullable
128+
public final Float boost() {
129+
return this.boost;
130+
}
131+
132+
/**
133+
* Filters for the kNN search query
134+
* <p>
135+
* API name: {@code filter}
136+
*/
137+
public final List<Query> filter() {
138+
return this.filter;
139+
}
140+
141+
/**
142+
* Serialize this object to JSON.
143+
*/
144+
public void serialize(JsonGenerator generator, JsonpMapper mapper) {
145+
generator.writeStartObject();
146+
serializeInternal(generator, mapper);
147+
generator.writeEnd();
101148
}
102149

103150
protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
104151

105-
super.serializeInternal(generator, mapper);
106152
generator.writeKey("field");
107153
generator.write(this.field);
108154

109-
generator.writeKey("num_candidates");
110-
generator.write(this.numCandidates);
111-
112155
if (ApiTypeHelper.isDefined(this.queryVector)) {
113156
generator.writeKey("query_vector");
114157
generator.writeStartArray();
@@ -119,7 +162,33 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
119162
generator.writeEnd();
120163

121164
}
165+
generator.writeKey("k");
166+
generator.write(this.k);
167+
168+
generator.writeKey("num_candidates");
169+
generator.write(this.numCandidates);
170+
171+
if (this.boost != null) {
172+
generator.writeKey("boost");
173+
generator.write(this.boost);
174+
175+
}
176+
if (ApiTypeHelper.isDefined(this.filter)) {
177+
generator.writeKey("filter");
178+
generator.writeStartArray();
179+
for (Query item0 : this.filter) {
180+
item0.serialize(generator, mapper);
122181

182+
}
183+
generator.writeEnd();
184+
185+
}
186+
187+
}
188+
189+
@Override
190+
public String toString() {
191+
return JsonpUtils.toString(this);
123192
}
124193

125194
// ---------------------------------------------------------------------------------------------
@@ -128,31 +197,35 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
128197
* Builder for {@link KnnQuery}.
129198
*/
130199

131-
public static class Builder extends QueryBase.AbstractBuilder<Builder> implements ObjectBuilder<KnnQuery> {
200+
public static class Builder extends WithJsonObjectBuilderBase<Builder> implements ObjectBuilder<KnnQuery> {
132201
private String field;
133202

134-
private Integer numCandidates;
135-
136203
private List<Double> queryVector;
137204

205+
private Long k;
206+
207+
private Long numCandidates;
208+
209+
@Nullable
210+
private Float boost;
211+
212+
@Nullable
213+
private List<Query> filter;
214+
138215
/**
139-
* Required - API name: {@code field}
216+
* Required - The name of the vector field to search against
217+
* <p>
218+
* API name: {@code field}
140219
*/
141220
public final Builder field(String value) {
142221
this.field = value;
143222
return this;
144223
}
145224

146225
/**
147-
* Required - API name: {@code num_candidates}
148-
*/
149-
public final Builder numCandidates(int value) {
150-
this.numCandidates = value;
151-
return this;
152-
}
153-
154-
/**
155-
* Required - API name: {@code query_vector}
226+
* Required - The query vector
227+
* <p>
228+
* API name: {@code query_vector}
156229
* <p>
157230
* Adds all elements of <code>list</code> to <code>queryVector</code>.
158231
*/
@@ -162,7 +235,9 @@ public final Builder queryVector(List<Double> list) {
162235
}
163236

164237
/**
165-
* Required - API name: {@code query_vector}
238+
* Required - The query vector
239+
* <p>
240+
* API name: {@code query_vector}
166241
* <p>
167242
* Adds one or more values to <code>queryVector</code>.
168243
*/
@@ -171,6 +246,71 @@ public final Builder queryVector(Double value, Double... values) {
171246
return this;
172247
}
173248

249+
/**
250+
* Required - The final number of nearest neighbors to return as top hits
251+
* <p>
252+
* API name: {@code k}
253+
*/
254+
public final Builder k(long value) {
255+
this.k = value;
256+
return this;
257+
}
258+
259+
/**
260+
* Required - The number of nearest neighbor candidates to consider per shard
261+
* <p>
262+
* API name: {@code num_candidates}
263+
*/
264+
public final Builder numCandidates(long value) {
265+
this.numCandidates = value;
266+
return this;
267+
}
268+
269+
/**
270+
* Boost value to apply to kNN scores
271+
* <p>
272+
* API name: {@code boost}
273+
*/
274+
public final Builder boost(@Nullable Float value) {
275+
this.boost = value;
276+
return this;
277+
}
278+
279+
/**
280+
* Filters for the kNN search query
281+
* <p>
282+
* API name: {@code filter}
283+
* <p>
284+
* Adds all elements of <code>list</code> to <code>filter</code>.
285+
*/
286+
public final Builder filter(List<Query> list) {
287+
this.filter = _listAddAll(this.filter, list);
288+
return this;
289+
}
290+
291+
/**
292+
* Filters for the kNN search query
293+
* <p>
294+
* API name: {@code filter}
295+
* <p>
296+
* Adds one or more values to <code>filter</code>.
297+
*/
298+
public final Builder filter(Query value, Query... values) {
299+
this.filter = _listAdd(this.filter, value, values);
300+
return this;
301+
}
302+
303+
/**
304+
* Filters for the kNN search query
305+
* <p>
306+
* API name: {@code filter}
307+
* <p>
308+
* Adds a value to <code>filter</code> using a builder lambda.
309+
*/
310+
public final Builder filter(Function<Query.Builder, ObjectBuilder<Query>> fn) {
311+
return filter(fn.apply(new Query.Builder()).build());
312+
}
313+
174314
@Override
175315
protected Builder self() {
176316
return this;
@@ -198,11 +338,14 @@ public KnnQuery build() {
198338
KnnQuery::setupKnnQueryDeserializer);
199339

200340
protected static void setupKnnQueryDeserializer(ObjectDeserializer<KnnQuery.Builder> op) {
201-
QueryBase.setupQueryBaseDeserializer(op);
341+
202342
op.add(Builder::field, JsonpDeserializer.stringDeserializer(), "field");
203-
op.add(Builder::numCandidates, JsonpDeserializer.integerDeserializer(), "num_candidates");
204343
op.add(Builder::queryVector, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.doubleDeserializer()),
205344
"query_vector");
345+
op.add(Builder::k, JsonpDeserializer.longDeserializer(), "k");
346+
op.add(Builder::numCandidates, JsonpDeserializer.longDeserializer(), "num_candidates");
347+
op.add(Builder::boost, JsonpDeserializer.floatDeserializer(), "boost");
348+
op.add(Builder::filter, JsonpDeserializer.arrayDeserializer(Query._DESERIALIZER), "filter");
206349

207350
}
208351

0 commit comments

Comments
 (0)