diff --git a/src/Elastic.Clients.Elasticsearch/Types/QueryDsl/FunctionScore.cs b/src/Elastic.Clients.Elasticsearch/Types/QueryDsl/FunctionScore.cs new file mode 100644 index 00000000000..21248c619a2 --- /dev/null +++ b/src/Elastic.Clients.Elasticsearch/Types/QueryDsl/FunctionScore.cs @@ -0,0 +1,27 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information. + +namespace Elastic.Clients.Elasticsearch.QueryDsl; + +// A quirk of the function score type which is valid without a variant. + +public partial class FunctionScore +{ + internal FunctionScore() { } + + /// + /// The weight score allows you to multiply the score by the provided weight. + /// + public static FunctionScore WeightScore(double weight) => new() { Weight = weight }; +} + +public partial class FunctionScoreDescriptor +{ + public FunctionScoreDescriptor WeightScore(double weight) => Set(null, null).Weight(weight); +} + +public partial class FunctionScoreDescriptor +{ + public FunctionScoreDescriptor WeightScore(double weight) => Set(null, null).Weight(weight); +} diff --git a/src/Elastic.Clients.Elasticsearch/Types/Scripting/InlineScript.cs b/src/Elastic.Clients.Elasticsearch/Types/Scripting/InlineScript.cs index 93d20e6cac9..3095fb42560 100644 --- a/src/Elastic.Clients.Elasticsearch/Types/Scripting/InlineScript.cs +++ b/src/Elastic.Clients.Elasticsearch/Types/Scripting/InlineScript.cs @@ -12,7 +12,7 @@ namespace Elastic.Clients.Elasticsearch; public sealed partial class InlineScript : ISelfTwoWaySerializable { - // This type is ISelfTwoWaySerializable because it potentially uses the source serialiser for params serialisation + // This type is ISelfTwoWaySerializable because it potentially uses the source serializer for params serialisation public InlineScript(string source) => Source = source; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.g.cs index 6f37db2e936..42ca53549a8 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.g.cs @@ -292,7 +292,7 @@ public override void Write(Utf8JsonWriter writer, Aggregation value, JsonSeriali } else { - throw new JsonException("Invalid container cannot be serialised"); + throw new JsonException("Invalid container cannot be serialized"); } } } diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/InferenceConfig.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/InferenceConfig.g.cs index d73c21bf359..6e4c1907721 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/InferenceConfig.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/InferenceConfig.g.cs @@ -86,15 +86,18 @@ public override InferenceConfig Read(ref Utf8JsonReader reader, Type typeToConve public override void Write(Utf8JsonWriter writer, InferenceConfig value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "classification": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ClassificationInferenceOptions)value.Variant, options); - break; - case "regression": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.RegressionInferenceOptions)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "classification": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ClassificationInferenceOptions)value.Variant, options); + break; + case "regression": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.RegressionInferenceOptions)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.g.cs index 10a4d5fe7e0..0d7694527c3 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.g.cs @@ -156,18 +156,21 @@ public override void Write(Utf8JsonWriter writer, FieldSuggester value, JsonSeri writer.WriteStringValue(value.Text); } - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "completion": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.CompletionSuggester)value.Variant, options); - break; - case "phrase": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.PhraseSuggester)value.Variant, options); - break; - case "term": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.TermSuggester)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "completion": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.CompletionSuggester)value.Variant, options); + break; + case "phrase": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.PhraseSuggester)value.Variant, options); + break; + case "term": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.TermSuggester)value.Variant, options); + break; + } } writer.WriteEndObject(); @@ -236,12 +239,6 @@ public FieldSuggesterDescriptor Text(string? text) protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { - if (!ContainsVariant) - { - writer.WriteNullValue(); - return; - } - writer.WriteStartObject(); if (!string.IsNullOrEmpty(PrefixValue)) { @@ -261,15 +258,19 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o writer.WriteStringValue(TextValue); } - writer.WritePropertyName(ContainedVariantName); - if (Variant is not null) + if (!string.IsNullOrEmpty(ContainedVariantName)) { - JsonSerializer.Serialize(writer, Variant, Variant.GetType(), options); - writer.WriteEndObject(); - return; + writer.WritePropertyName(ContainedVariantName); + if (Variant is not null) + { + JsonSerializer.Serialize(writer, Variant, Variant.GetType(), options); + writer.WriteEndObject(); + return; + } + + JsonSerializer.Serialize(writer, Descriptor, Descriptor.GetType(), options); } - JsonSerializer.Serialize(writer, Descriptor, Descriptor.GetType(), options); writer.WriteEndObject(); } } @@ -339,12 +340,6 @@ public FieldSuggesterDescriptor Text(string? text) protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { - if (!ContainsVariant) - { - writer.WriteNullValue(); - return; - } - writer.WriteStartObject(); if (!string.IsNullOrEmpty(PrefixValue)) { @@ -364,15 +359,19 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o writer.WriteStringValue(TextValue); } - writer.WritePropertyName(ContainedVariantName); - if (Variant is not null) + if (!string.IsNullOrEmpty(ContainedVariantName)) { - JsonSerializer.Serialize(writer, Variant, Variant.GetType(), options); - writer.WriteEndObject(); - return; + writer.WritePropertyName(ContainedVariantName); + if (Variant is not null) + { + JsonSerializer.Serialize(writer, Variant, Variant.GetType(), options); + writer.WriteEndObject(); + return; + } + + JsonSerializer.Serialize(writer, Descriptor, Descriptor.GetType(), options); } - JsonSerializer.Serialize(writer, Descriptor, Descriptor.GetType(), options); writer.WriteEndObject(); } } \ No newline at end of file diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/SmoothingModel.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/SmoothingModel.g.cs index 614f6fd92ec..b344d7eee76 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/SmoothingModel.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/SmoothingModel.g.cs @@ -94,18 +94,21 @@ public override SmoothingModel Read(ref Utf8JsonReader reader, Type typeToConver public override void Write(Utf8JsonWriter writer, SmoothingModel value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "laplace": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.LaplaceSmoothingModel)value.Variant, options); - break; - case "linear_interpolation": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.LinearInterpolationSmoothingModel)value.Variant, options); - break; - case "stupid_backoff": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.StupidBackoffSmoothingModel)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "laplace": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.LaplaceSmoothingModel)value.Variant, options); + break; + case "linear_interpolation": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.LinearInterpolationSmoothingModel)value.Variant, options); + break; + case "stupid_backoff": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Core.Search.StupidBackoffSmoothingModel)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/Action.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/Action.g.cs index b2f26c608ae..6c820bae693 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/Action.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/Action.g.cs @@ -94,18 +94,21 @@ public override Action Read(ref Utf8JsonReader reader, Type typeToConvert, JsonS public override void Write(Utf8JsonWriter writer, Action value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "add": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.IndexManagement.AddAction)value.Variant, options); - break; - case "remove": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.IndexManagement.RemoveAction)value.Variant, options); - break; - case "remove_index": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.IndexManagement.RemoveIndexAction)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "add": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.IndexManagement.AddAction)value.Variant, options); + break; + case "remove": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.IndexManagement.RemoveAction)value.Variant, options); + break; + case "remove_index": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.IndexManagement.RemoveIndexAction)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/InferenceConfig.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/InferenceConfig.g.cs index 982b97f26a3..97dfb407593 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/InferenceConfig.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/InferenceConfig.g.cs @@ -86,15 +86,18 @@ public override InferenceConfig Read(ref Utf8JsonReader reader, Type typeToConve public override void Write(Utf8JsonWriter writer, InferenceConfig value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "classification": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.InferenceConfigClassification)value.Variant, options); - break; - case "regression": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.InferenceConfigRegression)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "classification": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.InferenceConfigClassification)value.Variant, options); + break; + case "regression": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.InferenceConfigRegression)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.g.cs index 2529c77f129..59b67d92e27 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.g.cs @@ -334,108 +334,111 @@ public override Processor Read(ref Utf8JsonReader reader, Type typeToConvert, Js public override void Write(Utf8JsonWriter writer, Processor value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) - { - case "append": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.AppendProcessor)value.Variant, options); - break; - case "attachment": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.AttachmentProcessor)value.Variant, options); - break; - case "bytes": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.BytesProcessor)value.Variant, options); - break; - case "circle": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.CircleProcessor)value.Variant, options); - break; - case "convert": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.ConvertProcessor)value.Variant, options); - break; - case "csv": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.CsvProcessor)value.Variant, options); - break; - case "date": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DateProcessor)value.Variant, options); - break; - case "date_index_name": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DateIndexNameProcessor)value.Variant, options); - break; - case "dissect": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DissectProcessor)value.Variant, options); - break; - case "dot_expander": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DotExpanderProcessor)value.Variant, options); - break; - case "drop": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DropProcessor)value.Variant, options); - break; - case "enrich": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.EnrichProcessor)value.Variant, options); - break; - case "fail": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.FailProcessor)value.Variant, options); - break; - case "foreach": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.ForeachProcessor)value.Variant, options); - break; - case "geoip": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.GeoIpProcessor)value.Variant, options); - break; - case "grok": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.GrokProcessor)value.Variant, options); - break; - case "gsub": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.GsubProcessor)value.Variant, options); - break; - case "inference": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.InferenceProcessor)value.Variant, options); - break; - case "join": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.JoinProcessor)value.Variant, options); - break; - case "json": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.JsonProcessor)value.Variant, options); - break; - case "kv": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.KeyValueProcessor)value.Variant, options); - break; - case "lowercase": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.LowercaseProcessor)value.Variant, options); - break; - case "pipeline": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.PipelineProcessor)value.Variant, options); - break; - case "remove": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.RemoveProcessor)value.Variant, options); - break; - case "rename": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.RenameProcessor)value.Variant, options); - break; - case "set": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.SetProcessor)value.Variant, options); - break; - case "set_security_user": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.SetSecurityUserProcessor)value.Variant, options); - break; - case "sort": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.SortProcessor)value.Variant, options); - break; - case "split": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.SplitProcessor)value.Variant, options); - break; - case "trim": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.TrimProcessor)value.Variant, options); - break; - case "uppercase": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.UppercaseProcessor)value.Variant, options); - break; - case "urldecode": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.UrlDecodeProcessor)value.Variant, options); - break; - case "user_agent": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.UserAgentProcessor)value.Variant, options); - break; + if (value.VariantName is not null & value.Variant is not null) + { + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "append": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.AppendProcessor)value.Variant, options); + break; + case "attachment": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.AttachmentProcessor)value.Variant, options); + break; + case "bytes": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.BytesProcessor)value.Variant, options); + break; + case "circle": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.CircleProcessor)value.Variant, options); + break; + case "convert": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.ConvertProcessor)value.Variant, options); + break; + case "csv": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.CsvProcessor)value.Variant, options); + break; + case "date": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DateProcessor)value.Variant, options); + break; + case "date_index_name": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DateIndexNameProcessor)value.Variant, options); + break; + case "dissect": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DissectProcessor)value.Variant, options); + break; + case "dot_expander": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DotExpanderProcessor)value.Variant, options); + break; + case "drop": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.DropProcessor)value.Variant, options); + break; + case "enrich": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.EnrichProcessor)value.Variant, options); + break; + case "fail": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.FailProcessor)value.Variant, options); + break; + case "foreach": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.ForeachProcessor)value.Variant, options); + break; + case "geoip": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.GeoIpProcessor)value.Variant, options); + break; + case "grok": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.GrokProcessor)value.Variant, options); + break; + case "gsub": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.GsubProcessor)value.Variant, options); + break; + case "inference": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.InferenceProcessor)value.Variant, options); + break; + case "join": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.JoinProcessor)value.Variant, options); + break; + case "json": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.JsonProcessor)value.Variant, options); + break; + case "kv": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.KeyValueProcessor)value.Variant, options); + break; + case "lowercase": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.LowercaseProcessor)value.Variant, options); + break; + case "pipeline": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.PipelineProcessor)value.Variant, options); + break; + case "remove": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.RemoveProcessor)value.Variant, options); + break; + case "rename": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.RenameProcessor)value.Variant, options); + break; + case "set": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.SetProcessor)value.Variant, options); + break; + case "set_security_user": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.SetSecurityUserProcessor)value.Variant, options); + break; + case "sort": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.SortProcessor)value.Variant, options); + break; + case "split": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.SplitProcessor)value.Variant, options); + break; + case "trim": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.TrimProcessor)value.Variant, options); + break; + case "uppercase": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.UppercaseProcessor)value.Variant, options); + break; + case "urldecode": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.UrlDecodeProcessor)value.Variant, options); + break; + case "user_agent": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ingest.UserAgentProcessor)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/InferenceConfigCreate.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/InferenceConfigCreate.g.cs index a35a57fb6c8..e5dd8014f03 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/InferenceConfigCreate.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/InferenceConfigCreate.g.cs @@ -145,36 +145,39 @@ public override InferenceConfigCreate Read(ref Utf8JsonReader reader, Type typeT public override void Write(Utf8JsonWriter writer, InferenceConfigCreate value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "classification": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ClassificationInferenceOptions)value.Variant, options); - break; - case "fill_mask": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.FillMaskInferenceOptions)value.Variant, options); - break; - case "ner": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NerInferenceOptions)value.Variant, options); - break; - case "pass_through": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.PassThroughInferenceOptions)value.Variant, options); - break; - case "question_answering": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.QuestionAnsweringInferenceOptions)value.Variant, options); - break; - case "regression": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.RegressionInferenceOptions)value.Variant, options); - break; - case "text_classification": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.TextClassificationInferenceOptions)value.Variant, options); - break; - case "text_embedding": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.TextEmbeddingInferenceOptions)value.Variant, options); - break; - case "zero_shot_classification": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ZeroShotClassificationInferenceOptions)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "classification": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ClassificationInferenceOptions)value.Variant, options); + break; + case "fill_mask": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.FillMaskInferenceOptions)value.Variant, options); + break; + case "ner": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NerInferenceOptions)value.Variant, options); + break; + case "pass_through": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.PassThroughInferenceOptions)value.Variant, options); + break; + case "question_answering": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.QuestionAnsweringInferenceOptions)value.Variant, options); + break; + case "regression": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.RegressionInferenceOptions)value.Variant, options); + break; + case "text_classification": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.TextClassificationInferenceOptions)value.Variant, options); + break; + case "text_embedding": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.TextEmbeddingInferenceOptions)value.Variant, options); + break; + case "zero_shot_classification": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ZeroShotClassificationInferenceOptions)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/InferenceConfigUpdate.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/InferenceConfigUpdate.g.cs index b9e357e9401..ad2260d22e1 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/InferenceConfigUpdate.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/InferenceConfigUpdate.g.cs @@ -142,36 +142,39 @@ public override InferenceConfigUpdate Read(ref Utf8JsonReader reader, Type typeT public override void Write(Utf8JsonWriter writer, InferenceConfigUpdate value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "classification": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ClassificationInferenceOptions)value.Variant, options); - break; - case "fill_mask": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.FillMaskInferenceUpdateOptions)value.Variant, options); - break; - case "ner": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NerInferenceUpdateOptions)value.Variant, options); - break; - case "pass_through": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.PassThroughInferenceUpdateOptions)value.Variant, options); - break; - case "question_answering": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.QuestionAnsweringInferenceUpdateOptions)value.Variant, options); - break; - case "regression": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.RegressionInferenceOptions)value.Variant, options); - break; - case "text_classification": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.TextClassificationInferenceUpdateOptions)value.Variant, options); - break; - case "text_embedding": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.TextEmbeddingInferenceUpdateOptions)value.Variant, options); - break; - case "zero_shot_classification": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ZeroShotClassificationInferenceUpdateOptions)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "classification": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ClassificationInferenceOptions)value.Variant, options); + break; + case "fill_mask": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.FillMaskInferenceUpdateOptions)value.Variant, options); + break; + case "ner": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NerInferenceUpdateOptions)value.Variant, options); + break; + case "pass_through": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.PassThroughInferenceUpdateOptions)value.Variant, options); + break; + case "question_answering": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.QuestionAnsweringInferenceUpdateOptions)value.Variant, options); + break; + case "regression": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.RegressionInferenceOptions)value.Variant, options); + break; + case "text_classification": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.TextClassificationInferenceUpdateOptions)value.Variant, options); + break; + case "text_embedding": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.TextEmbeddingInferenceUpdateOptions)value.Variant, options); + break; + case "zero_shot_classification": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.ZeroShotClassificationInferenceUpdateOptions)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/TokenizationConfig.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/TokenizationConfig.g.cs index 441a221f9e2..4dc775c014d 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/TokenizationConfig.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ml/TokenizationConfig.g.cs @@ -97,18 +97,21 @@ public override TokenizationConfig Read(ref Utf8JsonReader reader, Type typeToCo public override void Write(Utf8JsonWriter writer, TokenizationConfig value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "bert": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NlpBertTokenizationConfig)value.Variant, options); - break; - case "mpnet": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NlpBertTokenizationConfig)value.Variant, options); - break; - case "roberta": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NlpRobertaTokenizationConfig)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "bert": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NlpBertTokenizationConfig)value.Variant, options); + break; + case "mpnet": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NlpBertTokenizationConfig)value.Variant, options); + break; + case "roberta": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Ml.NlpRobertaTokenizationConfig)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/FunctionScore.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/FunctionScore.g.cs index 4d10e4029c8..60a1aa51bdd 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/FunctionScore.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/FunctionScore.g.cs @@ -140,18 +140,21 @@ public override void Write(Utf8JsonWriter writer, FunctionScore value, JsonSeria writer.WriteNumberValue(value.Weight.Value); } - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "field_value_factor": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.FieldValueFactorScoreFunction)value.Variant, options); - break; - case "random_score": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RandomScoreFunction)value.Variant, options); - break; - case "script_score": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ScriptScoreFunction)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "field_value_factor": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.FieldValueFactorScoreFunction)value.Variant, options); + break; + case "random_score": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RandomScoreFunction)value.Variant, options); + break; + case "script_score": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ScriptScoreFunction)value.Variant, options); + break; + } } writer.WriteEndObject(); @@ -233,12 +236,6 @@ public FunctionScoreDescriptor Weight(double? weight) protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { - if (!ContainsVariant) - { - writer.WriteNullValue(); - return; - } - writer.WriteStartObject(); if (FilterDescriptor is not null) { @@ -262,15 +259,19 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o writer.WriteNumberValue(WeightValue.Value); } - writer.WritePropertyName(ContainedVariantName); - if (Variant is not null) + if (!string.IsNullOrEmpty(ContainedVariantName)) { - JsonSerializer.Serialize(writer, Variant, Variant.GetType(), options); - writer.WriteEndObject(); - return; + writer.WritePropertyName(ContainedVariantName); + if (Variant is not null) + { + JsonSerializer.Serialize(writer, Variant, Variant.GetType(), options); + writer.WriteEndObject(); + return; + } + + JsonSerializer.Serialize(writer, Descriptor, Descriptor.GetType(), options); } - JsonSerializer.Serialize(writer, Descriptor, Descriptor.GetType(), options); writer.WriteEndObject(); } } @@ -352,12 +353,6 @@ public FunctionScoreDescriptor Weight(double? weight) protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { - if (!ContainsVariant) - { - writer.WriteNullValue(); - return; - } - writer.WriteStartObject(); if (FilterDescriptor is not null) { @@ -381,15 +376,19 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o writer.WriteNumberValue(WeightValue.Value); } - writer.WritePropertyName(ContainedVariantName); - if (Variant is not null) + if (!string.IsNullOrEmpty(ContainedVariantName)) { - JsonSerializer.Serialize(writer, Variant, Variant.GetType(), options); - writer.WriteEndObject(); - return; + writer.WritePropertyName(ContainedVariantName); + if (Variant is not null) + { + JsonSerializer.Serialize(writer, Variant, Variant.GetType(), options); + writer.WriteEndObject(); + return; + } + + JsonSerializer.Serialize(writer, Descriptor, Descriptor.GetType(), options); } - JsonSerializer.Serialize(writer, Descriptor, Descriptor.GetType(), options); writer.WriteEndObject(); } } \ No newline at end of file diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Intervals.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Intervals.g.cs index 59fa5ca7afd..682e514e8b1 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Intervals.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Intervals.g.cs @@ -118,27 +118,30 @@ public override Intervals Read(ref Utf8JsonReader reader, Type typeToConvert, Js public override void Write(Utf8JsonWriter writer, Intervals value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "all_of": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsAllOf)value.Variant, options); - break; - case "any_of": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsAnyOf)value.Variant, options); - break; - case "fuzzy": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsFuzzy)value.Variant, options); - break; - case "match": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsMatch)value.Variant, options); - break; - case "prefix": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsPrefix)value.Variant, options); - break; - case "wildcard": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsWildcard)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "all_of": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsAllOf)value.Variant, options); + break; + case "any_of": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsAnyOf)value.Variant, options); + break; + case "fuzzy": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsFuzzy)value.Variant, options); + break; + case "match": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsMatch)value.Variant, options); + break; + case "prefix": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsPrefix)value.Variant, options); + break; + case "wildcard": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsWildcard)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/IntervalsFilter.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/IntervalsFilter.g.cs index 8b15729563d..b12dfd0c5fb 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/IntervalsFilter.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/IntervalsFilter.g.cs @@ -69,7 +69,11 @@ public override IntervalsFilter Read(ref Utf8JsonReader reader, Type typeToConve public override void Write(Utf8JsonWriter writer, IntervalsFilter value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); + if (value.VariantName is not null & value.Variant is not null) + { + writer.WritePropertyName(value.VariantName); + } + writer.WriteEndObject(); } } diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/IntervalsQuery.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/IntervalsQuery.g.cs index 38660c5d61e..fc52f05db03 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/IntervalsQuery.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/IntervalsQuery.g.cs @@ -186,27 +186,30 @@ public override void Write(Utf8JsonWriter writer, IntervalsQuery value, JsonSeri writer.WriteNumberValue(value.Boost.Value); } - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "all_of": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsAllOf)value.Variant, options); - break; - case "any_of": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsAnyOf)value.Variant, options); - break; - case "fuzzy": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsFuzzy)value.Variant, options); - break; - case "match": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsMatch)value.Variant, options); - break; - case "prefix": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsPrefix)value.Variant, options); - break; - case "wildcard": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsWildcard)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "all_of": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsAllOf)value.Variant, options); + break; + case "any_of": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsAnyOf)value.Variant, options); + break; + case "fuzzy": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsFuzzy)value.Variant, options); + break; + case "match": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsMatch)value.Variant, options); + break; + case "prefix": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsPrefix)value.Variant, options); + break; + case "wildcard": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsWildcard)value.Variant, options); + break; + } } writer.WriteEndObject(); @@ -299,12 +302,6 @@ public IntervalsQueryDescriptor Field(Expression(Expression(writer, (Elastic.Clients.Elasticsearch.QueryDsl.BoolQuery)value.Variant, options); - break; - case "boosting": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.BoostingQuery)value.Variant, options); - break; - case "combined_fields": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.CombinedFieldsQuery)value.Variant, options); - break; - case "constant_score": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ConstantScoreQuery)value.Variant, options); - break; - case "dis_max": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.DisMaxQuery)value.Variant, options); - break; - case "exists": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ExistsQuery)value.Variant, options); - break; - case "field_masking_span": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanFieldMaskingQuery)value.Variant, options); - break; - case "function_score": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.FunctionScoreQuery)value.Variant, options); - break; - case "fuzzy": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.FuzzyQuery)value.Variant, options); - break; - case "geo_bounding_box": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.GeoBoundingBoxQuery)value.Variant, options); - break; - case "geo_distance": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.GeoDistanceQuery)value.Variant, options); - break; - case "geo_polygon": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.GeoPolygonQuery)value.Variant, options); - break; - case "has_child": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.HasChildQuery)value.Variant, options); - break; - case "has_parent": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.HasParentQuery)value.Variant, options); - break; - case "ids": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IdsQuery)value.Variant, options); - break; - case "intervals": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsQuery)value.Variant, options); - break; - case "match": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchQuery)value.Variant, options); - break; - case "match_all": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchAllQuery)value.Variant, options); - break; - case "match_bool_prefix": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchBoolPrefixQuery)value.Variant, options); - break; - case "match_none": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchNoneQuery)value.Variant, options); - break; - case "match_phrase": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchPhraseQuery)value.Variant, options); - break; - case "match_phrase_prefix": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchPhrasePrefixQuery)value.Variant, options); - break; - case "more_like_this": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MoreLikeThisQuery)value.Variant, options); - break; - case "multi_match": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MultiMatchQuery)value.Variant, options); - break; - case "nested": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.NestedQuery)value.Variant, options); - break; - case "parent_id": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ParentIdQuery)value.Variant, options); - break; - case "percolate": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.PercolateQuery)value.Variant, options); - break; - case "prefix": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.PrefixQuery)value.Variant, options); - break; - case "query_string": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.QueryStringQuery)value.Variant, options); - break; - case "range": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RangeQuery)value.Variant, options); - break; - case "rank_feature": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RankFeatureQuery)value.Variant, options); - break; - case "raw_json": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RawJsonQuery)value.Variant, options); - break; - case "regexp": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RegexpQuery)value.Variant, options); - break; - case "script": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ScriptQuery)value.Variant, options); - break; - case "script_score": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ScriptScoreQuery)value.Variant, options); - break; - case "simple_query_string": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringQuery)value.Variant, options); - break; - case "span_containing": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanContainingQuery)value.Variant, options); - break; - case "span_first": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanFirstQuery)value.Variant, options); - break; - case "span_multi": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanMultiTermQuery)value.Variant, options); - break; - case "span_near": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanNearQuery)value.Variant, options); - break; - case "span_not": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanNotQuery)value.Variant, options); - break; - case "span_or": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanOrQuery)value.Variant, options); - break; - case "span_term": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanTermQuery)value.Variant, options); - break; - case "span_within": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanWithinQuery)value.Variant, options); - break; - case "term": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.TermQuery)value.Variant, options); - break; - case "terms": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.TermsQuery)value.Variant, options); - break; - case "terms_set": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.TermsSetQuery)value.Variant, options); - break; - case "wildcard": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.WildcardQuery)value.Variant, options); - break; - case "wrapper": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.WrapperQuery)value.Variant, options); - break; + if (value.VariantName is not null & value.Variant is not null) + { + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "bool": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.BoolQuery)value.Variant, options); + break; + case "boosting": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.BoostingQuery)value.Variant, options); + break; + case "combined_fields": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.CombinedFieldsQuery)value.Variant, options); + break; + case "constant_score": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ConstantScoreQuery)value.Variant, options); + break; + case "dis_max": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.DisMaxQuery)value.Variant, options); + break; + case "exists": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ExistsQuery)value.Variant, options); + break; + case "field_masking_span": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanFieldMaskingQuery)value.Variant, options); + break; + case "function_score": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.FunctionScoreQuery)value.Variant, options); + break; + case "fuzzy": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.FuzzyQuery)value.Variant, options); + break; + case "geo_bounding_box": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.GeoBoundingBoxQuery)value.Variant, options); + break; + case "geo_distance": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.GeoDistanceQuery)value.Variant, options); + break; + case "geo_polygon": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.GeoPolygonQuery)value.Variant, options); + break; + case "has_child": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.HasChildQuery)value.Variant, options); + break; + case "has_parent": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.HasParentQuery)value.Variant, options); + break; + case "ids": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IdsQuery)value.Variant, options); + break; + case "intervals": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.IntervalsQuery)value.Variant, options); + break; + case "match": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchQuery)value.Variant, options); + break; + case "match_all": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchAllQuery)value.Variant, options); + break; + case "match_bool_prefix": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchBoolPrefixQuery)value.Variant, options); + break; + case "match_none": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchNoneQuery)value.Variant, options); + break; + case "match_phrase": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchPhraseQuery)value.Variant, options); + break; + case "match_phrase_prefix": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MatchPhrasePrefixQuery)value.Variant, options); + break; + case "more_like_this": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MoreLikeThisQuery)value.Variant, options); + break; + case "multi_match": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.MultiMatchQuery)value.Variant, options); + break; + case "nested": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.NestedQuery)value.Variant, options); + break; + case "parent_id": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ParentIdQuery)value.Variant, options); + break; + case "percolate": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.PercolateQuery)value.Variant, options); + break; + case "prefix": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.PrefixQuery)value.Variant, options); + break; + case "query_string": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.QueryStringQuery)value.Variant, options); + break; + case "range": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RangeQuery)value.Variant, options); + break; + case "rank_feature": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RankFeatureQuery)value.Variant, options); + break; + case "raw_json": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RawJsonQuery)value.Variant, options); + break; + case "regexp": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.RegexpQuery)value.Variant, options); + break; + case "script": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ScriptQuery)value.Variant, options); + break; + case "script_score": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.ScriptScoreQuery)value.Variant, options); + break; + case "simple_query_string": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringQuery)value.Variant, options); + break; + case "span_containing": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanContainingQuery)value.Variant, options); + break; + case "span_first": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanFirstQuery)value.Variant, options); + break; + case "span_multi": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanMultiTermQuery)value.Variant, options); + break; + case "span_near": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanNearQuery)value.Variant, options); + break; + case "span_not": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanNotQuery)value.Variant, options); + break; + case "span_or": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanOrQuery)value.Variant, options); + break; + case "span_term": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanTermQuery)value.Variant, options); + break; + case "span_within": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanWithinQuery)value.Variant, options); + break; + case "term": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.TermQuery)value.Variant, options); + break; + case "terms": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.TermsQuery)value.Variant, options); + break; + case "terms_set": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.TermsSetQuery)value.Variant, options); + break; + case "wildcard": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.WildcardQuery)value.Variant, options); + break; + case "wrapper": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.WrapperQuery)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.g.cs index 0b2044dd0a6..9068a7e28b2 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.g.cs @@ -142,36 +142,39 @@ public override SpanQuery Read(ref Utf8JsonReader reader, Type typeToConvert, Js public override void Write(Utf8JsonWriter writer, SpanQuery value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "field_masking_span": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanFieldMaskingQuery)value.Variant, options); - break; - case "span_containing": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanContainingQuery)value.Variant, options); - break; - case "span_first": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanFirstQuery)value.Variant, options); - break; - case "span_multi": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanMultiTermQuery)value.Variant, options); - break; - case "span_near": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanNearQuery)value.Variant, options); - break; - case "span_not": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanNotQuery)value.Variant, options); - break; - case "span_or": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanOrQuery)value.Variant, options); - break; - case "span_term": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanTermQuery)value.Variant, options); - break; - case "span_within": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanWithinQuery)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "field_masking_span": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanFieldMaskingQuery)value.Variant, options); + break; + case "span_containing": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanContainingQuery)value.Variant, options); + break; + case "span_first": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanFirstQuery)value.Variant, options); + break; + case "span_multi": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanMultiTermQuery)value.Variant, options); + break; + case "span_near": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanNearQuery)value.Variant, options); + break; + case "span_not": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanNotQuery)value.Variant, options); + break; + case "span_or": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanOrQuery)value.Variant, options); + break; + case "span_term": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanTermQuery)value.Variant, options); + break; + case "span_within": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.QueryDsl.SpanWithinQuery)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/TransformManagement/PivotGroupBy.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/TransformManagement/PivotGroupBy.g.cs index d5aa49dbbb3..26731724ae2 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/TransformManagement/PivotGroupBy.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/TransformManagement/PivotGroupBy.g.cs @@ -94,18 +94,21 @@ public override PivotGroupBy Read(ref Utf8JsonReader reader, Type typeToConvert, public override void Write(Utf8JsonWriter writer, PivotGroupBy value, JsonSerializerOptions options) { writer.WriteStartObject(); - writer.WritePropertyName(value.VariantName); - switch (value.VariantName) + if (value.VariantName is not null & value.Variant is not null) { - case "date_histogram": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Aggregations.DateHistogramAggregation)value.Variant, options); - break; - case "histogram": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Aggregations.HistogramAggregation)value.Variant, options); - break; - case "terms": - JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Aggregations.TermsAggregation)value.Variant, options); - break; + writer.WritePropertyName(value.VariantName); + switch (value.VariantName) + { + case "date_histogram": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Aggregations.DateHistogramAggregation)value.Variant, options); + break; + case "histogram": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Aggregations.HistogramAggregation)value.Variant, options); + break; + case "terms": + JsonSerializer.Serialize(writer, (Elastic.Clients.Elasticsearch.Aggregations.TermsAggregation)value.Variant, options); + break; + } } writer.WriteEndObject(); diff --git a/tests/Tests/Framework/EndpointTests/ApiTestBase.cs b/tests/Tests/Framework/EndpointTests/ApiTestBase.cs index 9a52b18a0dc..81495f2c38d 100644 --- a/tests/Tests/Framework/EndpointTests/ApiTestBase.cs +++ b/tests/Tests/Framework/EndpointTests/ApiTestBase.cs @@ -59,8 +59,10 @@ protected ApiTestBase(TCluster cluster, EndpointUsage usage) : base(cluster, usa [U] protected virtual async Task VerifyInitializerJson() { + var json = SerializeUsingClient(Initializer); + if (VerifyJson) - await Verifier.VerifyJson(SerializeUsingClient(Initializer)); + await Verifier.VerifyJson(json); } [U] diff --git a/tests/Tests/QueryDsl/Compound/BoolQueryUsageTests.cs b/tests/Tests/QueryDsl/Compound/BoolQueryUsageTests.cs index db2c1e18586..a5e5406f02c 100644 --- a/tests/Tests/QueryDsl/Compound/BoolQueryUsageTests.cs +++ b/tests/Tests/QueryDsl/Compound/BoolQueryUsageTests.cs @@ -1,6 +1,7 @@ // Licensed to Elasticsearch B.V under one or more agreements. // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information. + using Elastic.Clients.Elasticsearch.QueryDsl; using Tests.Core.ManagedElasticsearch.Clusters; using Tests.Domain; diff --git a/tests/Tests/QueryDsl/Compound/FunctionScoreQueryUsageTests.cs b/tests/Tests/QueryDsl/Compound/FunctionScoreQueryUsageTests.cs new file mode 100644 index 00000000000..872c6fa9773 --- /dev/null +++ b/tests/Tests/QueryDsl/Compound/FunctionScoreQueryUsageTests.cs @@ -0,0 +1,91 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information. + +using Elastic.Clients.Elasticsearch.QueryDsl; +using Tests.Core.ManagedElasticsearch.Clusters; +using Tests.Domain; +using Tests.Framework.EndpointTests.TestState; + +namespace Tests.QueryDsl.Compound; + +public class FunctionScoreQueryUsageTests : QueryDslUsageTestsBase +{ + public FunctionScoreQueryUsageTests(ReadOnlyCluster cluster, EndpointUsage usage) : base(cluster, usage) + { + } + + protected override bool VerifyJson => true; + + private static FunctionScore GetFieldValueFactorScoreFunction() + { + var function = FunctionScore.FieldValueFactor(new FieldValueFactorScoreFunction + { + Field = Infer.Field(p => p.NumberOfCommits), + Factor = 1.1, + Missing = 0.1, + Modifier = FieldValueFactorModifier.Square + }); + + function.Weight = 3; + function.Filter = new TermQuery(Infer.Field(p => p.Branches)) + { + Value = "dev" + }; + + return function; + } + + private static FunctionScore GetScriptScoreFunction() + { + var function = FunctionScore.ScriptScore(new ScriptScoreFunction + { + Script = new Script(new InlineScript("Math.log(2 + doc['numberOfCommits'].value)")) + }); + + function.Weight = 1.0; + + return function; + } + + protected override Query QueryInitializer => new FunctionScoreQuery + { + QueryName = "named_query", + Boost = 1.1f, + Query = new MatchAllQuery(), + BoostMode = FunctionBoostMode.Multiply, + ScoreMode = FunctionScoreMode.Sum, + MaxBoost = 20.0, + MinScore = 1.0, + Functions = new FunctionScore[] + { + GetFieldValueFactorScoreFunction(), + new RandomScoreFunction { Seed = 1337, Field = "_seq_no" }, // For ease, when weight is not required, we can allow the implicit conversion to apply. + new RandomScoreFunction { Seed = "random_string", Field = "_seq_no" }, // For ease, when weight is not required, we can allow the implicit conversion to apply. + GetScriptScoreFunction(), + FunctionScore.WeightScore(5.0) + } + }; + + protected override QueryDescriptor QueryFluent(QueryDescriptor queryDescriptor) => + queryDescriptor + .FunctionScore(c => c + .QueryName("named_query") + .Boost(1.1f) + .Query(qq => qq.MatchAll()) + .BoostMode(FunctionBoostMode.Multiply) + .ScoreMode(FunctionScoreMode.Sum) + .MaxBoost(20.0) + .MinScore(1.0) + .Functions( + f => f.FieldValueFactor(fv => fv + .Field(f => f.NumberOfCommits) + .Factor(1.1) + .Missing(0.1) + .Modifier(FieldValueFactorModifier.Square)).Weight(3).Filter(f => f.Term(t => t.Field(fld => fld.Branches).Value("dev"))), + f => f.RandomScore(r => r.Seed(1337).Field("_seq_no")), + f => f.RandomScore(r => r.Seed("random_string").Field("_seq_no")), + f => f.ScriptScore(s => s.Script(new Script(new InlineScript("Math.log(2 + doc['numberOfCommits'].value)")))).Weight(1.0), + f => f.WeightScore(5.0) + )); +} diff --git a/tests/Tests/_VerifySnapshots/FunctionScoreQueryUsageTests.VerifyDescriptorJson.verified.txt b/tests/Tests/_VerifySnapshots/FunctionScoreQueryUsageTests.VerifyDescriptorJson.verified.txt new file mode 100644 index 00000000000..b7cc74bee6c --- /dev/null +++ b/tests/Tests/_VerifySnapshots/FunctionScoreQueryUsageTests.VerifyDescriptorJson.verified.txt @@ -0,0 +1,56 @@ +{ + query: { + function_score: { + boost: 1.1, + boost_mode: multiply, + functions: [ + { + field_value_factor: { + factor: 1.1, + field: numberOfCommits, + missing: 0.1, + modifier: square + }, + filter: { + term: { + branches: { + value: dev + } + } + }, + weight: 3 + }, + { + random_score: { + field: _seq_no, + seed: 1337 + } + }, + { + random_score: { + field: _seq_no, + seed: random_string + } + }, + { + script_score: { + script: { + source: Math.log(2 + doc['numberOfCommits'].value) + } + }, + weight: 1 + }, + { + weight: 5 + } + ], + max_boost: 20, + min_score: 1, + query: { + match_all: {} + }, + score_mode: sum, + _name: named_query + } + } +} \ No newline at end of file diff --git a/tests/Tests/_VerifySnapshots/FunctionScoreQueryUsageTests.VerifyInitializerJson.verified.txt b/tests/Tests/_VerifySnapshots/FunctionScoreQueryUsageTests.VerifyInitializerJson.verified.txt new file mode 100644 index 00000000000..b7cc74bee6c --- /dev/null +++ b/tests/Tests/_VerifySnapshots/FunctionScoreQueryUsageTests.VerifyInitializerJson.verified.txt @@ -0,0 +1,56 @@ +{ + query: { + function_score: { + boost: 1.1, + boost_mode: multiply, + functions: [ + { + field_value_factor: { + factor: 1.1, + field: numberOfCommits, + missing: 0.1, + modifier: square + }, + filter: { + term: { + branches: { + value: dev + } + } + }, + weight: 3 + }, + { + random_score: { + field: _seq_no, + seed: 1337 + } + }, + { + random_score: { + field: _seq_no, + seed: random_string + } + }, + { + script_score: { + script: { + source: Math.log(2 + doc['numberOfCommits'].value) + } + }, + weight: 1 + }, + { + weight: 5 + } + ], + max_boost: 20, + min_score: 1, + query: { + match_all: {} + }, + score_mode: sum, + _name: named_query + } + } +} \ No newline at end of file