Skip to content

Commit 53addcb

Browse files
authored
Add support for SimpleQueryStringQuery.flags property (#7869)
1 parent 2799ef3 commit 53addcb

15 files changed

+156
-0
lines changed

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Analysis.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Cluster.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Core.Search.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Enrich.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Eql.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ingest.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ml.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs

+115
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;
@@ -545,6 +546,120 @@ public override void Write(Utf8JsonWriter writer, RangeRelation value, JsonSeria
545546
}
546547
}
547548

549+
[JsonConverter(typeof(SimpleQueryStringFlagsConverter))]
550+
[Flags]
551+
public enum SimpleQueryStringFlags
552+
{
553+
[EnumMember(Value = "WHITESPACE")]
554+
Whitespace = 1 << 0,
555+
[EnumMember(Value = "SLOP")]
556+
Slop = 1 << 1,
557+
[EnumMember(Value = "PREFIX")]
558+
Prefix = 1 << 2,
559+
[EnumMember(Value = "PRECEDENCE")]
560+
Precedence = 1 << 3,
561+
[EnumMember(Value = "PHRASE")]
562+
Phrase = 1 << 4,
563+
[EnumMember(Value = "OR")]
564+
Or = 1 << 5,
565+
[EnumMember(Value = "NOT")]
566+
Not = 1 << 6,
567+
[EnumMember(Value = "NONE")]
568+
None = 1 << 7,
569+
[EnumMember(Value = "NEAR")]
570+
Near = 1 << 8,
571+
[EnumMember(Value = "FUZZY")]
572+
Fuzzy = 1 << 9,
573+
[EnumMember(Value = "ESCAPE")]
574+
Escape = 1 << 10,
575+
[EnumMember(Value = "AND")]
576+
And = 1 << 11,
577+
[EnumMember(Value = "ALL")]
578+
All = 1 << 12
579+
}
580+
581+
internal sealed class SimpleQueryStringFlagsConverter : JsonConverter<SimpleQueryStringFlags>
582+
{
583+
public override SimpleQueryStringFlags Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
584+
{
585+
var s = reader.GetString();
586+
if (string.IsNullOrEmpty(s))
587+
{
588+
return default;
589+
}
590+
591+
var flags = s.Split('|');
592+
var result = default(SimpleQueryStringFlags);
593+
foreach (var flag in flags)
594+
{
595+
result |= flag switch
596+
{
597+
"WHITESPACE" => SimpleQueryStringFlags.Whitespace,
598+
"SLOP" => SimpleQueryStringFlags.Slop,
599+
"PREFIX" => SimpleQueryStringFlags.Prefix,
600+
"PRECEDENCE" => SimpleQueryStringFlags.Precedence,
601+
"PHRASE" => SimpleQueryStringFlags.Phrase,
602+
"OR" => SimpleQueryStringFlags.Or,
603+
"NOT" => SimpleQueryStringFlags.Not,
604+
"NONE" => SimpleQueryStringFlags.None,
605+
"NEAR" => SimpleQueryStringFlags.Near,
606+
"FUZZY" => SimpleQueryStringFlags.Fuzzy,
607+
"ESCAPE" => SimpleQueryStringFlags.Escape,
608+
"AND" => SimpleQueryStringFlags.And,
609+
"ALL" => SimpleQueryStringFlags.All,
610+
_ => throw new JsonException($"Invalid flag value '{flag}' for type '{typeToConvert.Name}'.")
611+
};
612+
}
613+
614+
return result;
615+
}
616+
617+
public override void Write(Utf8JsonWriter writer, SimpleQueryStringFlags value, JsonSerializerOptions options)
618+
{
619+
if (value == default)
620+
{
621+
writer.WriteStringValue(string.Empty);
622+
return;
623+
}
624+
625+
var sb = new StringBuilder();
626+
if (value.HasFlag(SimpleQueryStringFlags.Whitespace))
627+
sb.Append("WHITESPACE|");
628+
if (value.HasFlag(SimpleQueryStringFlags.Slop))
629+
sb.Append("SLOP|");
630+
if (value.HasFlag(SimpleQueryStringFlags.Prefix))
631+
sb.Append("PREFIX|");
632+
if (value.HasFlag(SimpleQueryStringFlags.Precedence))
633+
sb.Append("PRECEDENCE|");
634+
if (value.HasFlag(SimpleQueryStringFlags.Phrase))
635+
sb.Append("PHRASE|");
636+
if (value.HasFlag(SimpleQueryStringFlags.Or))
637+
sb.Append("OR|");
638+
if (value.HasFlag(SimpleQueryStringFlags.Not))
639+
sb.Append("NOT|");
640+
if (value.HasFlag(SimpleQueryStringFlags.None))
641+
sb.Append("NONE|");
642+
if (value.HasFlag(SimpleQueryStringFlags.Near))
643+
sb.Append("NEAR|");
644+
if (value.HasFlag(SimpleQueryStringFlags.Fuzzy))
645+
sb.Append("FUZZY|");
646+
if (value.HasFlag(SimpleQueryStringFlags.Escape))
647+
sb.Append("ESCAPE|");
648+
if (value.HasFlag(SimpleQueryStringFlags.And))
649+
sb.Append("AND|");
650+
if (value.HasFlag(SimpleQueryStringFlags.All))
651+
sb.Append("ALL|");
652+
if (sb.Length == 0)
653+
{
654+
writer.WriteStringValue(string.Empty);
655+
return;
656+
}
657+
658+
sb.Remove(sb.Length - 1, 1);
659+
writer.WriteStringValue(sb.ToString());
660+
}
661+
}
662+
548663
[JsonConverter(typeof(TextQueryTypeConverter))]
549664
public enum TextQueryType
550665
{

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Tasks.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Watcher.g.cs

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using System;
2121
using System.Runtime.Serialization;
22+
using System.Text;
2223
using System.Text.Json;
2324
using System.Text.Json.Serialization;
2425
using Elastic.Clients.Elasticsearch.Core;

src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SimpleQueryStringQuery.g.cs

+28
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ public sealed partial class SimpleQueryStringQuery : SearchQuery
4343
public Elastic.Clients.Elasticsearch.QueryDsl.Operator? DefaultOperator { get; set; }
4444
[JsonInclude, JsonPropertyName("fields")]
4545
public Fields? Fields { get; set; }
46+
[JsonInclude, JsonPropertyName("flags")]
47+
public Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? Flags { get; set; }
4648
[JsonInclude, JsonPropertyName("fuzzy_max_expansions")]
4749
public int? FuzzyMaxExpansions { get; set; }
4850
[JsonInclude, JsonPropertyName("fuzzy_prefix_length")]
@@ -78,6 +80,7 @@ public SimpleQueryStringQueryDescriptor() : base()
7880
private float? BoostValue { get; set; }
7981
private Elastic.Clients.Elasticsearch.QueryDsl.Operator? DefaultOperatorValue { get; set; }
8082
private Fields? FieldsValue { get; set; }
83+
private Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? FlagsValue { get; set; }
8184
private int? FuzzyMaxExpansionsValue { get; set; }
8285
private int? FuzzyPrefixLengthValue { get; set; }
8386
private bool? FuzzyTranspositionsValue { get; set; }
@@ -128,6 +131,12 @@ public SimpleQueryStringQueryDescriptor<TDocument> Fields(Fields? fields)
128131
return Self;
129132
}
130133

134+
public SimpleQueryStringQueryDescriptor<TDocument> Flags(Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? flags)
135+
{
136+
FlagsValue = flags;
137+
return Self;
138+
}
139+
131140
public SimpleQueryStringQueryDescriptor<TDocument> FuzzyMaxExpansions(int? fuzzyMaxExpansions)
132141
{
133142
FuzzyMaxExpansionsValue = fuzzyMaxExpansions;
@@ -215,6 +224,12 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o
215224
JsonSerializer.Serialize(writer, FieldsValue, options);
216225
}
217226

227+
if (FlagsValue is not null)
228+
{
229+
writer.WritePropertyName("flags");
230+
JsonSerializer.Serialize(writer, FlagsValue, options);
231+
}
232+
218233
if (FuzzyMaxExpansionsValue.HasValue)
219234
{
220235
writer.WritePropertyName("fuzzy_max_expansions");
@@ -272,6 +287,7 @@ public SimpleQueryStringQueryDescriptor() : base()
272287
private float? BoostValue { get; set; }
273288
private Elastic.Clients.Elasticsearch.QueryDsl.Operator? DefaultOperatorValue { get; set; }
274289
private Fields? FieldsValue { get; set; }
290+
private Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? FlagsValue { get; set; }
275291
private int? FuzzyMaxExpansionsValue { get; set; }
276292
private int? FuzzyPrefixLengthValue { get; set; }
277293
private bool? FuzzyTranspositionsValue { get; set; }
@@ -322,6 +338,12 @@ public SimpleQueryStringQueryDescriptor Fields(Fields? fields)
322338
return Self;
323339
}
324340

341+
public SimpleQueryStringQueryDescriptor Flags(Elastic.Clients.Elasticsearch.QueryDsl.SimpleQueryStringFlags? flags)
342+
{
343+
FlagsValue = flags;
344+
return Self;
345+
}
346+
325347
public SimpleQueryStringQueryDescriptor FuzzyMaxExpansions(int? fuzzyMaxExpansions)
326348
{
327349
FuzzyMaxExpansionsValue = fuzzyMaxExpansions;
@@ -409,6 +431,12 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o
409431
JsonSerializer.Serialize(writer, FieldsValue, options);
410432
}
411433

434+
if (FlagsValue is not null)
435+
{
436+
writer.WritePropertyName("flags");
437+
JsonSerializer.Serialize(writer, FlagsValue, options);
438+
}
439+
412440
if (FuzzyMaxExpansionsValue.HasValue)
413441
{
414442
writer.WritePropertyName("fuzzy_max_expansions");

0 commit comments

Comments
 (0)