Skip to content

Commit

Permalink
Add Similarity to KnnQuery (#7956)
Browse files Browse the repository at this point in the history
  • Loading branch information
flobernd authored and github-actions[bot] committed Sep 29, 2023
1 parent d194077 commit 7015ff8
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions src/Elastic.Clients.Elasticsearch/_Generated/Types/KnnQuery.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@ public sealed partial class KnnQuery
/// </summary>
[JsonInclude, JsonPropertyName("query_vector_builder")]
public Elastic.Clients.Elasticsearch.QueryVectorBuilder? QueryVectorBuilder { get; set; }

/// <summary>
/// <para>The minimum similarity for a vector to be considered a match</para>
/// </summary>
[JsonInclude, JsonPropertyName("similarity")]
public float? Similarity { get; set; }
}

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

/// <summary>
/// <para>Filters for the kNN search query</para>
Expand Down Expand Up @@ -213,6 +220,15 @@ public KnnQueryDescriptor<TDocument> QueryVectorBuilder(Action<QueryVectorBuilde
return Self;
}

/// <summary>
/// <para>The minimum similarity for a vector to be considered a match</para>
/// </summary>
public KnnQueryDescriptor<TDocument> Similarity(float? similarity)
{
SimilarityValue = similarity;
return Self;
}

protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
{
writer.WriteStartObject();
Expand Down Expand Up @@ -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();
}
}
Expand All @@ -303,6 +325,7 @@ public KnnQueryDescriptor() : base()
private Elastic.Clients.Elasticsearch.QueryVectorBuilder? QueryVectorBuilderValue { get; set; }
private QueryVectorBuilderDescriptor QueryVectorBuilderDescriptor { get; set; }
private Action<QueryVectorBuilderDescriptor> QueryVectorBuilderDescriptorAction { get; set; }
private float? SimilarityValue { get; set; }

/// <summary>
/// <para>Filters for the kNN search query</para>
Expand Down Expand Up @@ -433,6 +456,15 @@ public KnnQueryDescriptor QueryVectorBuilder(Action<QueryVectorBuilderDescriptor
return Self;
}

/// <summary>
/// <para>The minimum similarity for a vector to be considered a match</para>
/// </summary>
public KnnQueryDescriptor Similarity(float? similarity)
{
SimilarityValue = similarity;
return Self;
}

protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
{
writer.WriteStartObject();
Expand Down Expand Up @@ -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();
}
}

0 comments on commit 7015ff8

Please sign in to comment.