From dad94ea78a55ec62b95762bf87d49737e9fd9605 Mon Sep 17 00:00:00 2001 From: Florian Bernd Date: Fri, 29 Sep 2023 13:21:28 +0200 Subject: [PATCH] Add `Similarity` to `KnnQuery` --- .../_Generated/Types/KnnQuery.g.cs | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/KnnQuery.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/KnnQuery.g.cs index a0d239f009f..f0400fa5ba0 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/KnnQuery.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/KnnQuery.g.cs @@ -70,6 +70,12 @@ public sealed partial class KnnQuery /// [JsonInclude, JsonPropertyName("query_vector_builder")] public Elastic.Clients.Elasticsearch.QueryVectorBuilder? QueryVectorBuilder { get; set; } + + /// + /// The minimum similarity for a vector to be considered a match + /// + [JsonInclude, JsonPropertyName("similarity")] + public float? Similarity { get; set; } } public sealed partial class KnnQueryDescriptor : SerializableDescriptor> @@ -92,6 +98,7 @@ public KnnQueryDescriptor() : base() private Elastic.Clients.Elasticsearch.QueryVectorBuilder? QueryVectorBuilderValue { get; set; } private QueryVectorBuilderDescriptor QueryVectorBuilderDescriptor { get; set; } private Action QueryVectorBuilderDescriptorAction { get; set; } + private float? SimilarityValue { get; set; } /// /// Filters for the kNN search query @@ -213,6 +220,15 @@ public KnnQueryDescriptor QueryVectorBuilder(Action + /// The minimum similarity for a vector to be considered a match + /// + public KnnQueryDescriptor Similarity(float? similarity) + { + SimilarityValue = similarity; + return Self; + } + protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { writer.WriteStartObject(); @@ -279,6 +295,12 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o JsonSerializer.Serialize(writer, QueryVectorBuilderValue, options); } + if (SimilarityValue.HasValue) + { + writer.WritePropertyName("similarity"); + writer.WriteNumberValue(SimilarityValue.Value); + } + writer.WriteEndObject(); } } @@ -303,6 +325,7 @@ public KnnQueryDescriptor() : base() private Elastic.Clients.Elasticsearch.QueryVectorBuilder? QueryVectorBuilderValue { get; set; } private QueryVectorBuilderDescriptor QueryVectorBuilderDescriptor { get; set; } private Action QueryVectorBuilderDescriptorAction { get; set; } + private float? SimilarityValue { get; set; } /// /// Filters for the kNN search query @@ -433,6 +456,15 @@ public KnnQueryDescriptor QueryVectorBuilder(Action + /// The minimum similarity for a vector to be considered a match + /// + public KnnQueryDescriptor Similarity(float? similarity) + { + SimilarityValue = similarity; + return Self; + } + protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { writer.WriteStartObject(); @@ -499,6 +531,12 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o JsonSerializer.Serialize(writer, QueryVectorBuilderValue, options); } + if (SimilarityValue.HasValue) + { + writer.WritePropertyName("similarity"); + writer.WriteNumberValue(SimilarityValue.Value); + } + writer.WriteEndObject(); } } \ No newline at end of file