Skip to content

Commit e55d107

Browse files
authored
Add Similarity to KnnQuery (#7956)
1 parent 3216482 commit e55d107

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

src/Elastic.Clients.Elasticsearch/_Generated/Types/KnnQuery.g.cs

+38
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@ public sealed partial class KnnQuery
7070
/// </summary>
7171
[JsonInclude, JsonPropertyName("query_vector_builder")]
7272
public Elastic.Clients.Elasticsearch.QueryVectorBuilder? QueryVectorBuilder { get; set; }
73+
74+
/// <summary>
75+
/// <para>The minimum similarity for a vector to be considered a match</para>
76+
/// </summary>
77+
[JsonInclude, JsonPropertyName("similarity")]
78+
public float? Similarity { get; set; }
7379
}
7480

7581
public sealed partial class KnnQueryDescriptor<TDocument> : SerializableDescriptor<KnnQueryDescriptor<TDocument>>
@@ -92,6 +98,7 @@ public KnnQueryDescriptor() : base()
9298
private Elastic.Clients.Elasticsearch.QueryVectorBuilder? QueryVectorBuilderValue { get; set; }
9399
private QueryVectorBuilderDescriptor QueryVectorBuilderDescriptor { get; set; }
94100
private Action<QueryVectorBuilderDescriptor> QueryVectorBuilderDescriptorAction { get; set; }
101+
private float? SimilarityValue { get; set; }
95102

96103
/// <summary>
97104
/// <para>Filters for the kNN search query</para>
@@ -213,6 +220,15 @@ public KnnQueryDescriptor<TDocument> QueryVectorBuilder(Action<QueryVectorBuilde
213220
return Self;
214221
}
215222

223+
/// <summary>
224+
/// <para>The minimum similarity for a vector to be considered a match</para>
225+
/// </summary>
226+
public KnnQueryDescriptor<TDocument> Similarity(float? similarity)
227+
{
228+
SimilarityValue = similarity;
229+
return Self;
230+
}
231+
216232
protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
217233
{
218234
writer.WriteStartObject();
@@ -279,6 +295,12 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o
279295
JsonSerializer.Serialize(writer, QueryVectorBuilderValue, options);
280296
}
281297

298+
if (SimilarityValue.HasValue)
299+
{
300+
writer.WritePropertyName("similarity");
301+
writer.WriteNumberValue(SimilarityValue.Value);
302+
}
303+
282304
writer.WriteEndObject();
283305
}
284306
}
@@ -303,6 +325,7 @@ public KnnQueryDescriptor() : base()
303325
private Elastic.Clients.Elasticsearch.QueryVectorBuilder? QueryVectorBuilderValue { get; set; }
304326
private QueryVectorBuilderDescriptor QueryVectorBuilderDescriptor { get; set; }
305327
private Action<QueryVectorBuilderDescriptor> QueryVectorBuilderDescriptorAction { get; set; }
328+
private float? SimilarityValue { get; set; }
306329

307330
/// <summary>
308331
/// <para>Filters for the kNN search query</para>
@@ -433,6 +456,15 @@ public KnnQueryDescriptor QueryVectorBuilder(Action<QueryVectorBuilderDescriptor
433456
return Self;
434457
}
435458

459+
/// <summary>
460+
/// <para>The minimum similarity for a vector to be considered a match</para>
461+
/// </summary>
462+
public KnnQueryDescriptor Similarity(float? similarity)
463+
{
464+
SimilarityValue = similarity;
465+
return Self;
466+
}
467+
436468
protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
437469
{
438470
writer.WriteStartObject();
@@ -499,6 +531,12 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o
499531
JsonSerializer.Serialize(writer, QueryVectorBuilderValue, options);
500532
}
501533

534+
if (SimilarityValue.HasValue)
535+
{
536+
writer.WritePropertyName("similarity");
537+
writer.WriteNumberValue(SimilarityValue.Value);
538+
}
539+
502540
writer.WriteEndObject();
503541
}
504542
}

0 commit comments

Comments
 (0)