From 88be9b65c8a082e04e6fbb37db0e581092b2b1c3 Mon Sep 17 00:00:00 2001 From: Steve Gordon Date: Fri, 5 May 2023 09:12:37 +0100 Subject: [PATCH] Regenerate with latest spec fixes for 8.7 --- .../Serialization/Stringified.cs | 53 ++++++++++++++ .../AsyncSearch/SubmitAsyncSearchRequest.g.cs | 70 ++++++++++++++++--- .../Analysis/LimitTokenCountTokenFilter.g.cs | 5 +- .../Types/Analysis/StemmerTokenFilter.g.cs | 67 ++++++++++++++++-- .../Types/Core/MSearch/MultisearchBody.g.cs | 68 +++++++++++++++--- .../IndexManagement/IndexSettingBlocks.g.cs | 5 +- .../Types/IndexManagement/IndexSettings.g.cs | 15 ++-- .../Types/IndexManagement/MergeScheduler.g.cs | 10 +-- .../IndexManagement/SettingsAnalyze.g.cs | 5 +- .../IndexManagement/SettingsQueryString.g.cs | 3 +- 10 files changed, 259 insertions(+), 42 deletions(-) diff --git a/src/Elastic.Clients.Elasticsearch/Serialization/Stringified.cs b/src/Elastic.Clients.Elasticsearch/Serialization/Stringified.cs index fce710611fe..e392441c82c 100644 --- a/src/Elastic.Clients.Elasticsearch/Serialization/Stringified.cs +++ b/src/Elastic.Clients.Elasticsearch/Serialization/Stringified.cs @@ -32,6 +32,59 @@ public static long ReadStringifiedLong(ref Utf8JsonReader reader) } return reader.GetInt64(); + } +} + +internal sealed class StringifiedIntegerConverter : JsonConverter +{ + public override int? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => ReadStringifiedInteger(ref reader); + + public override void Write(Utf8JsonWriter writer, int? value, JsonSerializerOptions options) => writer.WriteNumberValue(value.Value); + + public static int ReadStringifiedInteger(ref Utf8JsonReader reader) + { + if (reader.TokenType == JsonTokenType.PropertyName) + reader.Read(); + + if (reader.TokenType == JsonTokenType.String) + { + var intString = reader.GetString(); + + if (!int.TryParse(intString, out var intValue)) + { + throw new JsonException("Unable to parse string value to integer."); + } + + return intValue; + } + return reader.GetInt32(); } } + +internal sealed class StringifiedBoolConverter : JsonConverter +{ + public override bool? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => ReadStringifiedBool(ref reader); + + public override void Write(Utf8JsonWriter writer, bool? value, JsonSerializerOptions options) => writer.WriteBooleanValue(value.Value); + + public static bool ReadStringifiedBool(ref Utf8JsonReader reader) + { + if (reader.TokenType == JsonTokenType.PropertyName) + reader.Read(); + + if (reader.TokenType == JsonTokenType.String) + { + var boolString = reader.GetString(); + + if (!bool.TryParse(boolString, out var boolValue)) + { + throw new JsonException("Unable to parse string value to bool."); + } + + return boolValue; + } + + return reader.GetBoolean(); + } +} \ No newline at end of file diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Api/AsyncSearch/SubmitAsyncSearchRequest.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Api/AsyncSearch/SubmitAsyncSearchRequest.g.cs index 466ffc6c9d5..ed9fe394da2 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Api/AsyncSearch/SubmitAsyncSearchRequest.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Api/AsyncSearch/SubmitAsyncSearchRequest.g.cs @@ -240,7 +240,7 @@ public override SubmitAsyncSearchRequest Read(ref Utf8JsonReader reader, Type ty if (property == "knn") { - variant.Knn = JsonSerializer.Deserialize(ref reader, options); + variant.Knn = JsonSerializer.Deserialize?>(ref reader, options); continue; } @@ -817,8 +817,8 @@ public SubmitAsyncSearchRequest(Elastic.Clients.Elasticsearch.Indices? indices) /// /// Defines the approximate kNN search to run. /// - [JsonInclude, JsonPropertyName("knn")] - public Elastic.Clients.Elasticsearch.KnnQuery? Knn { get; set; } + [JsonInclude, JsonPropertyName("knn"), SingleOrManyCollectionConverter(typeof(Elastic.Clients.Elasticsearch.KnnQuery))] + public ICollection? Knn { get; set; } /// /// Minimum _score for matching documents. Documents with a lower _score are
not included in the search results.
@@ -998,9 +998,10 @@ public SubmitAsyncSearchRequestDescriptor Indices(Elastic.Clients.Ela private Elastic.Clients.Elasticsearch.Core.Search.Highlight? HighlightValue { get; set; } private Core.Search.HighlightDescriptor HighlightDescriptor { get; set; } private Action> HighlightDescriptorAction { get; set; } - private Elastic.Clients.Elasticsearch.KnnQuery? KnnValue { get; set; } + private ICollection? KnnValue { get; set; } private KnnQueryDescriptor KnnDescriptor { get; set; } private Action> KnnDescriptorAction { get; set; } + private Action>[] KnnDescriptorActions { get; set; } private Elastic.Clients.Elasticsearch.QueryDsl.Query? PostFilterValue { get; set; } private QueryDsl.QueryDescriptor PostFilterDescriptor { get; set; } private Action> PostFilterDescriptorAction { get; set; } @@ -1197,10 +1198,11 @@ public SubmitAsyncSearchRequestDescriptor Highlight(Action /// Defines the approximate kNN search to run. ///
- public SubmitAsyncSearchRequestDescriptor Knn(Elastic.Clients.Elasticsearch.KnnQuery? knn) + public SubmitAsyncSearchRequestDescriptor Knn(ICollection? knn) { KnnDescriptor = null; KnnDescriptorAction = null; + KnnDescriptorActions = null; KnnValue = knn; return Self; } @@ -1209,6 +1211,7 @@ public SubmitAsyncSearchRequestDescriptor Knn(KnnQueryDescriptor Knn(Action Knn(params Action>[] configure) + { + KnnValue = null; + KnnDescriptor = null; + KnnDescriptorAction = null; + KnnDescriptorActions = configure; + return Self; + } + public SubmitAsyncSearchRequestDescriptor PostFilter(Elastic.Clients.Elasticsearch.QueryDsl.Query? postFilter) { PostFilterDescriptor = null; @@ -1707,10 +1720,23 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o writer.WritePropertyName("knn"); JsonSerializer.Serialize(writer, new KnnQueryDescriptor(KnnDescriptorAction), options); } + else if (KnnDescriptorActions is not null) + { + writer.WritePropertyName("knn"); + if (KnnDescriptorActions.Length > 1) + writer.WriteStartArray(); + foreach (var action in KnnDescriptorActions) + { + JsonSerializer.Serialize(writer, new KnnQueryDescriptor(action), options); + } + + if (KnnDescriptorActions.Length > 1) + writer.WriteEndArray(); + } else if (KnnValue is not null) { writer.WritePropertyName("knn"); - JsonSerializer.Serialize(writer, KnnValue, options); + SingleOrManySerializationHelper.Serialize(KnnValue, writer, options); } if (PostFilterDescriptor is not null) @@ -2042,9 +2068,10 @@ public SubmitAsyncSearchRequestDescriptor Indices(Elastic.Clients.Elasticsearch. private Elastic.Clients.Elasticsearch.Core.Search.Highlight? HighlightValue { get; set; } private Core.Search.HighlightDescriptor HighlightDescriptor { get; set; } private Action HighlightDescriptorAction { get; set; } - private Elastic.Clients.Elasticsearch.KnnQuery? KnnValue { get; set; } + private ICollection? KnnValue { get; set; } private KnnQueryDescriptor KnnDescriptor { get; set; } private Action KnnDescriptorAction { get; set; } + private Action[] KnnDescriptorActions { get; set; } private Elastic.Clients.Elasticsearch.QueryDsl.Query? PostFilterValue { get; set; } private QueryDsl.QueryDescriptor PostFilterDescriptor { get; set; } private Action PostFilterDescriptorAction { get; set; } @@ -2241,10 +2268,11 @@ public SubmitAsyncSearchRequestDescriptor Highlight(Action /// Defines the approximate kNN search to run. /// - public SubmitAsyncSearchRequestDescriptor Knn(Elastic.Clients.Elasticsearch.KnnQuery? knn) + public SubmitAsyncSearchRequestDescriptor Knn(ICollection? knn) { KnnDescriptor = null; KnnDescriptorAction = null; + KnnDescriptorActions = null; KnnValue = knn; return Self; } @@ -2253,6 +2281,7 @@ public SubmitAsyncSearchRequestDescriptor Knn(KnnQueryDescriptor descriptor) { KnnValue = null; KnnDescriptorAction = null; + KnnDescriptorActions = null; KnnDescriptor = descriptor; return Self; } @@ -2261,10 +2290,20 @@ public SubmitAsyncSearchRequestDescriptor Knn(Action configu { KnnValue = null; KnnDescriptor = null; + KnnDescriptorActions = null; KnnDescriptorAction = configure; return Self; } + public SubmitAsyncSearchRequestDescriptor Knn(params Action[] configure) + { + KnnValue = null; + KnnDescriptor = null; + KnnDescriptorAction = null; + KnnDescriptorActions = configure; + return Self; + } + public SubmitAsyncSearchRequestDescriptor PostFilter(Elastic.Clients.Elasticsearch.QueryDsl.Query? postFilter) { PostFilterDescriptor = null; @@ -2751,10 +2790,23 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o writer.WritePropertyName("knn"); JsonSerializer.Serialize(writer, new KnnQueryDescriptor(KnnDescriptorAction), options); } + else if (KnnDescriptorActions is not null) + { + writer.WritePropertyName("knn"); + if (KnnDescriptorActions.Length > 1) + writer.WriteStartArray(); + foreach (var action in KnnDescriptorActions) + { + JsonSerializer.Serialize(writer, new KnnQueryDescriptor(action), options); + } + + if (KnnDescriptorActions.Length > 1) + writer.WriteEndArray(); + } else if (KnnValue is not null) { writer.WritePropertyName("knn"); - JsonSerializer.Serialize(writer, KnnValue, options); + SingleOrManySerializationHelper.Serialize(KnnValue, writer, options); } if (PostFilterDescriptor is not null) diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/LimitTokenCountTokenFilter.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/LimitTokenCountTokenFilter.g.cs index 2212d070c41..f7ae3923ff7 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/LimitTokenCountTokenFilter.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/LimitTokenCountTokenFilter.g.cs @@ -32,6 +32,7 @@ public sealed partial class LimitTokenCountTokenFilter : ITokenFilter [JsonInclude, JsonPropertyName("consume_all_tokens")] public bool? ConsumeAllTokens { get; set; } [JsonInclude, JsonPropertyName("max_token_count")] + [JsonConverter(typeof(StringifiedIntegerConverter))] public int? MaxTokenCount { get; set; } [JsonInclude, JsonPropertyName("type")] @@ -80,10 +81,10 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o writer.WriteBooleanValue(ConsumeAllTokensValue.Value); } - if (MaxTokenCountValue.HasValue) + if (MaxTokenCountValue is not null) { writer.WritePropertyName("max_token_count"); - writer.WriteNumberValue(MaxTokenCountValue.Value); + JsonSerializer.Serialize(writer, MaxTokenCountValue, options); } writer.WritePropertyName("type"); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/StemmerTokenFilter.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/StemmerTokenFilter.g.cs index 5553eda8ca4..1a2a34737e1 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/StemmerTokenFilter.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/StemmerTokenFilter.g.cs @@ -27,15 +27,64 @@ namespace Elastic.Clients.Elasticsearch.Analysis; +internal sealed partial class StemmerTokenFilterConverter : JsonConverter +{ + public override StemmerTokenFilter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + if (reader.TokenType != JsonTokenType.StartObject) + throw new JsonException("Unexpected JSON detected."); + var variant = new StemmerTokenFilter(); + while (reader.Read() && reader.TokenType != JsonTokenType.EndObject) + { + if (reader.TokenType == JsonTokenType.PropertyName) + { + var property = reader.GetString(); + if (property == "language" || property == "name") + { + variant.Language = JsonSerializer.Deserialize(ref reader, options); + continue; + } + + if (property == "version") + { + variant.Version = JsonSerializer.Deserialize(ref reader, options); + continue; + } + } + } + + return variant; + } + + public override void Write(Utf8JsonWriter writer, StemmerTokenFilter value, JsonSerializerOptions options) + { + writer.WriteStartObject(); + if (!string.IsNullOrEmpty(value.Language)) + { + writer.WritePropertyName("language"); + writer.WriteStringValue(value.Language); + } + + writer.WritePropertyName("type"); + writer.WriteStringValue("stemmer"); + if (value.Version is not null) + { + writer.WritePropertyName("version"); + JsonSerializer.Serialize(writer, value.Version, options); + } + + writer.WriteEndObject(); + } +} + +[JsonConverter(typeof(StemmerTokenFilterConverter))] public sealed partial class StemmerTokenFilter : ITokenFilter { - [JsonInclude, JsonPropertyName("language")] - public string Language { get; set; } + public string? Language { get; set; } [JsonInclude, JsonPropertyName("type")] public string Type => "stemmer"; - [JsonInclude, JsonPropertyName("version")] public string? Version { get; set; } } @@ -47,10 +96,10 @@ public StemmerTokenFilterDescriptor() : base() { } - private string LanguageValue { get; set; } + private string? LanguageValue { get; set; } private string? VersionValue { get; set; } - public StemmerTokenFilterDescriptor Language(string language) + public StemmerTokenFilterDescriptor Language(string? language) { LanguageValue = language; return Self; @@ -65,8 +114,12 @@ public StemmerTokenFilterDescriptor Version(string? version) protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { writer.WriteStartObject(); - writer.WritePropertyName("language"); - writer.WriteStringValue(LanguageValue); + if (!string.IsNullOrEmpty(LanguageValue)) + { + writer.WritePropertyName("language"); + writer.WriteStringValue(LanguageValue); + } + writer.WritePropertyName("type"); writer.WriteStringValue("stemmer"); if (VersionValue is not null) diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/MSearch/MultisearchBody.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/MSearch/MultisearchBody.g.cs index 865dd6a6fff..e2457a78a36 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/MSearch/MultisearchBody.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/MSearch/MultisearchBody.g.cs @@ -78,8 +78,8 @@ public sealed partial class MultisearchBody /// /// Defines the approximate kNN search to run. /// - [JsonInclude, JsonPropertyName("knn")] - public Elastic.Clients.Elasticsearch.KnnQuery? Knn { get; set; } + [JsonInclude, JsonPropertyName("knn"), SingleOrManyCollectionConverter(typeof(Elastic.Clients.Elasticsearch.KnnQuery))] + public ICollection? Knn { get; set; } /// /// Minimum _score for matching documents. Documents with a lower _score are
not included in the search results.
@@ -200,9 +200,10 @@ public MultisearchBodyDescriptor() : base() private Elastic.Clients.Elasticsearch.Core.Search.Highlight? HighlightValue { get; set; } private Core.Search.HighlightDescriptor HighlightDescriptor { get; set; } private Action> HighlightDescriptorAction { get; set; } - private Elastic.Clients.Elasticsearch.KnnQuery? KnnValue { get; set; } + private ICollection? KnnValue { get; set; } private KnnQueryDescriptor KnnDescriptor { get; set; } private Action> KnnDescriptorAction { get; set; } + private Action>[] KnnDescriptorActions { get; set; } private Elastic.Clients.Elasticsearch.QueryDsl.Query? PostFilterValue { get; set; } private QueryDsl.QueryDescriptor PostFilterDescriptor { get; set; } private Action> PostFilterDescriptorAction { get; set; } @@ -372,10 +373,11 @@ public MultisearchBodyDescriptor Highlight(Action /// Defines the approximate kNN search to run. ///
- public MultisearchBodyDescriptor Knn(Elastic.Clients.Elasticsearch.KnnQuery? knn) + public MultisearchBodyDescriptor Knn(ICollection? knn) { KnnDescriptor = null; KnnDescriptorAction = null; + KnnDescriptorActions = null; KnnValue = knn; return Self; } @@ -384,6 +386,7 @@ public MultisearchBodyDescriptor Knn(KnnQueryDescriptor de { KnnValue = null; KnnDescriptorAction = null; + KnnDescriptorActions = null; KnnDescriptor = descriptor; return Self; } @@ -392,10 +395,20 @@ public MultisearchBodyDescriptor Knn(Action Knn(params Action>[] configure) + { + KnnValue = null; + KnnDescriptor = null; + KnnDescriptorAction = null; + KnnDescriptorActions = configure; + return Self; + } + public MultisearchBodyDescriptor PostFilter(Elastic.Clients.Elasticsearch.QueryDsl.Query? postFilter) { PostFilterDescriptor = null; @@ -842,10 +855,23 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o writer.WritePropertyName("knn"); JsonSerializer.Serialize(writer, new KnnQueryDescriptor(KnnDescriptorAction), options); } + else if (KnnDescriptorActions is not null) + { + writer.WritePropertyName("knn"); + if (KnnDescriptorActions.Length > 1) + writer.WriteStartArray(); + foreach (var action in KnnDescriptorActions) + { + JsonSerializer.Serialize(writer, new KnnQueryDescriptor(action), options); + } + + if (KnnDescriptorActions.Length > 1) + writer.WriteEndArray(); + } else if (KnnValue is not null) { writer.WritePropertyName("knn"); - JsonSerializer.Serialize(writer, KnnValue, options); + SingleOrManySerializationHelper.Serialize(KnnValue, writer, options); } if (PostFilterDescriptor is not null) @@ -1110,9 +1136,10 @@ public MultisearchBodyDescriptor() : base() private Elastic.Clients.Elasticsearch.Core.Search.Highlight? HighlightValue { get; set; } private Core.Search.HighlightDescriptor HighlightDescriptor { get; set; } private Action HighlightDescriptorAction { get; set; } - private Elastic.Clients.Elasticsearch.KnnQuery? KnnValue { get; set; } + private ICollection? KnnValue { get; set; } private KnnQueryDescriptor KnnDescriptor { get; set; } private Action KnnDescriptorAction { get; set; } + private Action[] KnnDescriptorActions { get; set; } private Elastic.Clients.Elasticsearch.QueryDsl.Query? PostFilterValue { get; set; } private QueryDsl.QueryDescriptor PostFilterDescriptor { get; set; } private Action PostFilterDescriptorAction { get; set; } @@ -1282,10 +1309,11 @@ public MultisearchBodyDescriptor Highlight(Action /// Defines the approximate kNN search to run. /// - public MultisearchBodyDescriptor Knn(Elastic.Clients.Elasticsearch.KnnQuery? knn) + public MultisearchBodyDescriptor Knn(ICollection? knn) { KnnDescriptor = null; KnnDescriptorAction = null; + KnnDescriptorActions = null; KnnValue = knn; return Self; } @@ -1294,6 +1322,7 @@ public MultisearchBodyDescriptor Knn(KnnQueryDescriptor descriptor) { KnnValue = null; KnnDescriptorAction = null; + KnnDescriptorActions = null; KnnDescriptor = descriptor; return Self; } @@ -1302,10 +1331,20 @@ public MultisearchBodyDescriptor Knn(Action configure) { KnnValue = null; KnnDescriptor = null; + KnnDescriptorActions = null; KnnDescriptorAction = configure; return Self; } + public MultisearchBodyDescriptor Knn(params Action[] configure) + { + KnnValue = null; + KnnDescriptor = null; + KnnDescriptorAction = null; + KnnDescriptorActions = configure; + return Self; + } + public MultisearchBodyDescriptor PostFilter(Elastic.Clients.Elasticsearch.QueryDsl.Query? postFilter) { PostFilterDescriptor = null; @@ -1752,10 +1791,23 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o writer.WritePropertyName("knn"); JsonSerializer.Serialize(writer, new KnnQueryDescriptor(KnnDescriptorAction), options); } + else if (KnnDescriptorActions is not null) + { + writer.WritePropertyName("knn"); + if (KnnDescriptorActions.Length > 1) + writer.WriteStartArray(); + foreach (var action in KnnDescriptorActions) + { + JsonSerializer.Serialize(writer, new KnnQueryDescriptor(action), options); + } + + if (KnnDescriptorActions.Length > 1) + writer.WriteEndArray(); + } else if (KnnValue is not null) { writer.WritePropertyName("knn"); - JsonSerializer.Serialize(writer, KnnValue, options); + SingleOrManySerializationHelper.Serialize(KnnValue, writer, options); } if (PostFilterDescriptor is not null) diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexSettingBlocks.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexSettingBlocks.g.cs index 78a197ed72f..453b0048dad 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexSettingBlocks.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexSettingBlocks.g.cs @@ -30,6 +30,7 @@ namespace Elastic.Clients.Elasticsearch.IndexManagement; public sealed partial class IndexSettingBlocks { [JsonInclude, JsonPropertyName("metadata")] + [JsonConverter(typeof(StringifiedBoolConverter))] public bool? Metadata { get; set; } [JsonInclude, JsonPropertyName("read")] public bool? Read { get; set; } @@ -88,10 +89,10 @@ public IndexSettingBlocksDescriptor Write(Union? write) protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { writer.WriteStartObject(); - if (MetadataValue.HasValue) + if (MetadataValue is not null) { writer.WritePropertyName("metadata"); - writer.WriteBooleanValue(MetadataValue.Value); + JsonSerializer.Serialize(writer, MetadataValue, options); } if (ReadValue.HasValue) diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexSettings.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexSettings.g.cs index 185449ce0a5..ed23e9bf2d0 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexSettings.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexSettings.g.cs @@ -294,7 +294,7 @@ public override IndexSettings Read(ref Utf8JsonReader reader, Type typeToConvert if (property == "routing_partition_size") { - variant.RoutingPartitionSize = JsonSerializer.Deserialize(ref reader, options); + variant.RoutingPartitionSize = StringifiedIntegerConverter.ReadStringifiedInteger(ref reader); continue; } @@ -656,10 +656,10 @@ public override void Write(Utf8JsonWriter writer, IndexSettings value, JsonSeria JsonSerializer.Serialize(writer, value.Routing, options); } - if (value.RoutingPartitionSize.HasValue) + if (value.RoutingPartitionSize is not null) { writer.WritePropertyName("routing_partition_size"); - writer.WriteNumberValue(value.RoutingPartitionSize.Value); + JsonSerializer.Serialize(writer, value.RoutingPartitionSize, options); } if (value.RoutingPath is not null) @@ -809,6 +809,7 @@ public sealed partial class IndexSettings public Elastic.Clients.Elasticsearch.IndexManagement.SettingsQueryString? QueryString { get; set; } public Elastic.Clients.Elasticsearch.Duration? RefreshInterval { get; set; } public Elastic.Clients.Elasticsearch.IndexManagement.IndexRouting? Routing { get; set; } + [JsonConverter(typeof(StringifiedIntegerConverter))] public int? RoutingPartitionSize { get; set; } public ICollection? RoutingPath { get; set; } public Elastic.Clients.Elasticsearch.IndexManagement.SettingsSearch? Search { get; set; } @@ -2121,10 +2122,10 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o JsonSerializer.Serialize(writer, RoutingValue, options); } - if (RoutingPartitionSizeValue.HasValue) + if (RoutingPartitionSizeValue is not null) { writer.WritePropertyName("routing_partition_size"); - writer.WriteNumberValue(RoutingPartitionSizeValue.Value); + JsonSerializer.Serialize(writer, RoutingPartitionSizeValue, options); } if (RoutingPathValue is not null) @@ -3569,10 +3570,10 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o JsonSerializer.Serialize(writer, RoutingValue, options); } - if (RoutingPartitionSizeValue.HasValue) + if (RoutingPartitionSizeValue is not null) { writer.WritePropertyName("routing_partition_size"); - writer.WriteNumberValue(RoutingPartitionSizeValue.Value); + JsonSerializer.Serialize(writer, RoutingPartitionSizeValue, options); } if (RoutingPathValue is not null) diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/MergeScheduler.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/MergeScheduler.g.cs index e933ab90b77..e1dcafbbe16 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/MergeScheduler.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/MergeScheduler.g.cs @@ -30,8 +30,10 @@ namespace Elastic.Clients.Elasticsearch.IndexManagement; public sealed partial class MergeScheduler { [JsonInclude, JsonPropertyName("max_merge_count")] + [JsonConverter(typeof(StringifiedIntegerConverter))] public int? MaxMergeCount { get; set; } [JsonInclude, JsonPropertyName("max_thread_count")] + [JsonConverter(typeof(StringifiedIntegerConverter))] public int? MaxThreadCount { get; set; } } @@ -61,16 +63,16 @@ public MergeSchedulerDescriptor MaxThreadCount(int? maxThreadCount) protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { writer.WriteStartObject(); - if (MaxMergeCountValue.HasValue) + if (MaxMergeCountValue is not null) { writer.WritePropertyName("max_merge_count"); - writer.WriteNumberValue(MaxMergeCountValue.Value); + JsonSerializer.Serialize(writer, MaxMergeCountValue, options); } - if (MaxThreadCountValue.HasValue) + if (MaxThreadCountValue is not null) { writer.WritePropertyName("max_thread_count"); - writer.WriteNumberValue(MaxThreadCountValue.Value); + JsonSerializer.Serialize(writer, MaxThreadCountValue, options); } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsAnalyze.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsAnalyze.g.cs index c848a55f254..8cd9ad4c02a 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsAnalyze.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsAnalyze.g.cs @@ -30,6 +30,7 @@ namespace Elastic.Clients.Elasticsearch.IndexManagement; public sealed partial class SettingsAnalyze { [JsonInclude, JsonPropertyName("max_token_count")] + [JsonConverter(typeof(StringifiedIntegerConverter))] public int? MaxTokenCount { get; set; } } @@ -52,10 +53,10 @@ public SettingsAnalyzeDescriptor MaxTokenCount(int? maxTokenCount) protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings) { writer.WriteStartObject(); - if (MaxTokenCountValue.HasValue) + if (MaxTokenCountValue is not null) { writer.WritePropertyName("max_token_count"); - writer.WriteNumberValue(MaxTokenCountValue.Value); + JsonSerializer.Serialize(writer, MaxTokenCountValue, options); } writer.WriteEndObject(); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsQueryString.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsQueryString.g.cs index af44bd56911..000226f0493 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsQueryString.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsQueryString.g.cs @@ -30,6 +30,7 @@ namespace Elastic.Clients.Elasticsearch.IndexManagement; public sealed partial class SettingsQueryString { [JsonInclude, JsonPropertyName("lenient")] + [JsonConverter(typeof(StringifiedBoolConverter))] public bool Lenient { get; set; } } @@ -53,7 +54,7 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o { writer.WriteStartObject(); writer.WritePropertyName("lenient"); - writer.WriteBooleanValue(LenientValue); + JsonSerializer.Serialize(writer, LenientValue, options); writer.WriteEndObject(); } } \ No newline at end of file