diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs index 8c0a1eadb13..d198046c6a6 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Analysis.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Analysis.g.cs index 09513de853e..98749056ebd 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Analysis.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Analysis.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Cluster.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Cluster.g.cs index ca2dbb858b0..ecab64c449e 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Cluster.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Cluster.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Core.Search.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Core.Search.g.cs index 441b68a7e5c..24287f5ac84 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Core.Search.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Core.Search.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Enrich.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Enrich.g.cs index 17e2bd05d78..b056250c416 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Enrich.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Enrich.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Eql.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Eql.g.cs index 967e7d82340..72788434ca0 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Eql.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Eql.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs index 0cb104e309e..50564eb15b3 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ingest.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ingest.g.cs index 735f004acbb..d88b78749af 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ingest.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ingest.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs index 8a9474db368..44d9cdee696 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ml.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ml.g.cs index 5bb8d48a655..6394358209d 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ml.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ml.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs index 22532ea7e3c..71f4cf70ec3 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs index 4e5ce51a634..277d48df77b 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; @@ -545,6 +546,120 @@ public override void Write(Utf8JsonWriter writer, RangeRelation value, JsonSeria } } +[JsonConverter(typeof(SimpleQueryStringFlagsConverter))] +[Flags] +public enum SimpleQueryStringFlags +{ + [EnumMember(Value = "WHITESPACE")] + Whitespace = 1 << 0, + [EnumMember(Value = "SLOP")] + Slop = 1 << 1, + [EnumMember(Value = "PREFIX")] + Prefix = 1 << 2, + [EnumMember(Value = "PRECEDENCE")] + Precedence = 1 << 3, + [EnumMember(Value = "PHRASE")] + Phrase = 1 << 4, + [EnumMember(Value = "OR")] + Or = 1 << 5, + [EnumMember(Value = "NOT")] + Not = 1 << 6, + [EnumMember(Value = "NONE")] + None = 1 << 7, + [EnumMember(Value = "NEAR")] + Near = 1 << 8, + [EnumMember(Value = "FUZZY")] + Fuzzy = 1 << 9, + [EnumMember(Value = "ESCAPE")] + Escape = 1 << 10, + [EnumMember(Value = "AND")] + And = 1 << 11, + [EnumMember(Value = "ALL")] + All = 1 << 12 +} + +internal sealed class SimpleQueryStringFlagsConverter : JsonConverter +{ + public override SimpleQueryStringFlags Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + var s = reader.GetString(); + if (string.IsNullOrEmpty(s)) + { + return default; + } + + var flags = s.Split('|'); + var result = default(SimpleQueryStringFlags); + foreach (var flag in flags) + { + result |= flag switch + { + "WHITESPACE" => SimpleQueryStringFlags.Whitespace, + "SLOP" => SimpleQueryStringFlags.Slop, + "PREFIX" => SimpleQueryStringFlags.Prefix, + "PRECEDENCE" => SimpleQueryStringFlags.Precedence, + "PHRASE" => SimpleQueryStringFlags.Phrase, + "OR" => SimpleQueryStringFlags.Or, + "NOT" => SimpleQueryStringFlags.Not, + "NONE" => SimpleQueryStringFlags.None, + "NEAR" => SimpleQueryStringFlags.Near, + "FUZZY" => SimpleQueryStringFlags.Fuzzy, + "ESCAPE" => SimpleQueryStringFlags.Escape, + "AND" => SimpleQueryStringFlags.And, + "ALL" => SimpleQueryStringFlags.All, + _ => throw new JsonException($"Invalid flag value '{flag}' for type '{typeToConvert.Name}'.") + }; + } + + return result; + } + + public override void Write(Utf8JsonWriter writer, SimpleQueryStringFlags value, JsonSerializerOptions options) + { + if (value == default) + { + writer.WriteStringValue(string.Empty); + return; + } + + var sb = new StringBuilder(); + if (value.HasFlag(SimpleQueryStringFlags.Whitespace)) + sb.Append("WHITESPACE|"); + if (value.HasFlag(SimpleQueryStringFlags.Slop)) + sb.Append("SLOP|"); + if (value.HasFlag(SimpleQueryStringFlags.Prefix)) + sb.Append("PREFIX|"); + if (value.HasFlag(SimpleQueryStringFlags.Precedence)) + sb.Append("PRECEDENCE|"); + if (value.HasFlag(SimpleQueryStringFlags.Phrase)) + sb.Append("PHRASE|"); + if (value.HasFlag(SimpleQueryStringFlags.Or)) + sb.Append("OR|"); + if (value.HasFlag(SimpleQueryStringFlags.Not)) + sb.Append("NOT|"); + if (value.HasFlag(SimpleQueryStringFlags.None)) + sb.Append("NONE|"); + if (value.HasFlag(SimpleQueryStringFlags.Near)) + sb.Append("NEAR|"); + if (value.HasFlag(SimpleQueryStringFlags.Fuzzy)) + sb.Append("FUZZY|"); + if (value.HasFlag(SimpleQueryStringFlags.Escape)) + sb.Append("ESCAPE|"); + if (value.HasFlag(SimpleQueryStringFlags.And)) + sb.Append("AND|"); + if (value.HasFlag(SimpleQueryStringFlags.All)) + sb.Append("ALL|"); + if (sb.Length == 0) + { + writer.WriteStringValue(string.Empty); + return; + } + + sb.Remove(sb.Length - 1, 1); + writer.WriteStringValue(sb.ToString()); + } +} + [JsonConverter(typeof(TextQueryTypeConverter))] public enum TextQueryType { diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Tasks.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Tasks.g.cs index 1332b3b27d7..995fcb42db6 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Tasks.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Tasks.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Watcher.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Watcher.g.cs index e20d3fdfabd..9a0bbb72673 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Watcher.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Watcher.g.cs @@ -19,6 +19,7 @@ using System; using System.Runtime.Serialization; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using Elastic.Clients.Elasticsearch.Core; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SimpleQueryStringQuery.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SimpleQueryStringQuery.g.cs index 26479f4cd70..17ad5e1bed7 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SimpleQueryStringQuery.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SimpleQueryStringQuery.g.cs @@ -43,6 +43,8 @@ public sealed partial class SimpleQueryStringQuery : SearchQuery public Elastic.Clients.Elasticsearch.QueryDsl.Operator? DefaultOperator { get; set; } [JsonInclude, JsonPropertyName("fields")] public Fields? Fields { get; set; } + [JsonInclude, JsonPropertyName("flags")] + public Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? Flags { get; set; } [JsonInclude, JsonPropertyName("fuzzy_max_expansions")] public int? FuzzyMaxExpansions { get; set; } [JsonInclude, JsonPropertyName("fuzzy_prefix_length")] @@ -78,6 +80,7 @@ public SimpleQueryStringQueryDescriptor() : base() private float? BoostValue { get; set; } private Elastic.Clients.Elasticsearch.QueryDsl.Operator? DefaultOperatorValue { get; set; } private Fields? FieldsValue { get; set; } + private Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? FlagsValue { get; set; } private int? FuzzyMaxExpansionsValue { get; set; } private int? FuzzyPrefixLengthValue { get; set; } private bool? FuzzyTranspositionsValue { get; set; } @@ -128,6 +131,12 @@ public SimpleQueryStringQueryDescriptor Fields(Fields? fields) return Self; } + public SimpleQueryStringQueryDescriptor Flags(Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? flags) + { + FlagsValue = flags; + return Self; + } + public SimpleQueryStringQueryDescriptor FuzzyMaxExpansions(int? fuzzyMaxExpansions) { FuzzyMaxExpansionsValue = fuzzyMaxExpansions; @@ -215,6 +224,12 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o JsonSerializer.Serialize(writer, FieldsValue, options); } + if (FlagsValue is not null) + { + writer.WritePropertyName("flags"); + JsonSerializer.Serialize(writer, FlagsValue, options); + } + if (FuzzyMaxExpansionsValue.HasValue) { writer.WritePropertyName("fuzzy_max_expansions"); @@ -272,6 +287,7 @@ public SimpleQueryStringQueryDescriptor() : base() private float? BoostValue { get; set; } private Elastic.Clients.Elasticsearch.QueryDsl.Operator? DefaultOperatorValue { get; set; } private Fields? FieldsValue { get; set; } + private Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? FlagsValue { get; set; } private int? FuzzyMaxExpansionsValue { get; set; } private int? FuzzyPrefixLengthValue { get; set; } private bool? FuzzyTranspositionsValue { get; set; } @@ -322,6 +338,12 @@ public SimpleQueryStringQueryDescriptor Fields(Fields? fields) return Self; } + public SimpleQueryStringQueryDescriptor Flags(Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? flags) + { + FlagsValue = flags; + return Self; + } + public SimpleQueryStringQueryDescriptor FuzzyMaxExpansions(int? fuzzyMaxExpansions) { FuzzyMaxExpansionsValue = fuzzyMaxExpansions; @@ -409,6 +431,12 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o JsonSerializer.Serialize(writer, FieldsValue, options); } + if (FlagsValue is not null) + { + writer.WritePropertyName("flags"); + JsonSerializer.Serialize(writer, FlagsValue, options); + } + if (FuzzyMaxExpansionsValue.HasValue) { writer.WritePropertyName("fuzzy_max_expansions");