@@ -25,6 +25,8 @@ public class IntervalsQuery : FieldNameQueryBase, IIntervalsQuery
2525 public IIntervalsAnyOf AnyOf { get ; set ; }
2626 /// <inheritdoc cref="IIntervalsMatch"/>
2727 public IIntervalsMatch Match { get ; set ; }
28+ /// <inheritdoc cref="IIntervalsFuzzy"/>
29+ public IIntervalsFuzzy Fuzzy { get ; set ; }
2830
2931 /// <inheritdoc cref="IIntervalsPrefix"/>
3032 public IIntervalsPrefix Prefix { get ; set ; }
@@ -35,7 +37,8 @@ public class IntervalsQuery : FieldNameQueryBase, IIntervalsQuery
3537 protected override bool Conditionless => IsConditionless ( this ) ;
3638
3739 internal static bool IsConditionless ( IIntervalsQuery q ) =>
38- q . Field . IsConditionless ( ) || q . Match == null && q . AllOf == null && q . AnyOf == null && q . Prefix == null && q . Wildcard == null ;
40+ q . Field . IsConditionless ( ) || q . Match == null && q . AllOf == null && q . AnyOf == null && q . Prefix == null && q . Wildcard == null
41+ && q . Fuzzy == null ;
3942
4043 internal override void InternalWrapInContainer ( IQueryContainer container ) => container . Intervals = this ;
4144 }
@@ -50,10 +53,15 @@ public class IntervalsQueryDescriptor<T>
5053
5154 IIntervalsAllOf IIntervalsContainer . AllOf { get ; set ; }
5255 IIntervalsAnyOf IIntervalsContainer . AnyOf { get ; set ; }
56+ IIntervalsFuzzy IIntervalsContainer . Fuzzy { get ; set ; }
5357 IIntervalsMatch IIntervalsContainer . Match { get ; set ; }
5458 IIntervalsPrefix IIntervalsContainer . Prefix { get ; set ; }
5559 IIntervalsWildcard IIntervalsContainer . Wildcard { get ; set ; }
5660
61+ /// <inheritdoc cref="IntervalsQuery.Fuzzy" />
62+ public IntervalsQueryDescriptor < T > Fuzzy ( Func < IntervalsFuzzyDescriptor , IIntervalsFuzzy > selector ) =>
63+ Assign ( selector , ( a , v ) => a . Fuzzy = v ? . Invoke ( new IntervalsFuzzyDescriptor ( ) ) ) ;
64+
5765 /// <inheritdoc cref="IntervalsQuery.Match" />
5866 public IntervalsQueryDescriptor < T > Match ( Func < IntervalsMatchDescriptor , IIntervalsMatch > selector ) =>
5967 Assign ( selector , ( a , v ) => a . Match = v ? . Invoke ( new IntervalsMatchDescriptor ( ) ) ) ;
@@ -88,6 +96,10 @@ public interface IIntervalsContainer
8896 [ DataMember ( Name = "any_of" ) ]
8997 IIntervalsAnyOf AnyOf { get ; set ; }
9098
99+ /// <inheritdoc cref="IIntervalsFuzzy" />
100+ [ DataMember ( Name = "fuzzy" ) ]
101+ IIntervalsFuzzy Fuzzy { get ; set ; }
102+
91103 /// <inheritdoc cref="IIntervalsMatch" />
92104 [ DataMember ( Name = "match" ) ]
93105 IIntervalsMatch Match { get ; set ; }
@@ -120,6 +132,7 @@ public IntervalsContainer(IntervalsNoFilterBase intervals)
120132
121133 IIntervalsAllOf IIntervalsContainer . AllOf { get ; set ; }
122134 IIntervalsAnyOf IIntervalsContainer . AnyOf { get ; set ; }
135+ IIntervalsFuzzy IIntervalsContainer . Fuzzy { get ; set ; }
123136 IIntervalsMatch IIntervalsContainer . Match { get ; set ; }
124137 IIntervalsPrefix IIntervalsContainer . Prefix { get ; set ; }
125138 IIntervalsWildcard IIntervalsContainer . Wildcard { get ; set ; }
@@ -141,6 +154,10 @@ public class IntervalsDescriptor : IntervalsContainer
141154 private IntervalsDescriptor Assign < TValue > ( TValue value , Action < IIntervalsContainer , TValue > assigner ) =>
142155 Fluent . Assign ( this , value , assigner ) ;
143156
157+ /// <inheritdoc cref="IntervalsFuzzyDescriptor" />
158+ public IntervalsDescriptor Fuzzy ( Func < IntervalsFuzzyDescriptor , IIntervalsFuzzy > selector ) =>
159+ Assign ( selector , ( a , v ) => a . Fuzzy = v ? . Invoke ( new IntervalsFuzzyDescriptor ( ) ) ) ;
160+
144161 /// <inheritdoc cref="IntervalsMatchDescriptor" />
145162 public IntervalsDescriptor Match ( Func < IntervalsMatchDescriptor , IIntervalsMatch > selector ) =>
146163 Assign ( selector , ( a , v ) => a . Match = v ? . Invoke ( new IntervalsMatchDescriptor ( ) ) ) ;
@@ -222,6 +239,10 @@ public class IntervalsListDescriptor : DescriptorPromiseBase<IntervalsListDescri
222239 {
223240 public IntervalsListDescriptor ( ) : base ( new List < IntervalsContainer > ( ) ) { }
224241
242+ /// <inheritdoc cref="IIntervalsFuzzy" />
243+ public IntervalsListDescriptor Fuzzy ( Func < IntervalsFuzzyDescriptor , IIntervalsFuzzy > selector ) =>
244+ Assign ( selector , ( a , v ) => a . AddIfNotNull ( new IntervalsDescriptor ( ) . Fuzzy ( v ) ) ) ;
245+
225246 /// <inheritdoc cref="IIntervalsMatch" />
226247 public IntervalsListDescriptor Match ( Func < IntervalsMatchDescriptor , IIntervalsMatch > selector ) =>
227248 Assign ( selector , ( a , v ) => a . AddIfNotNull ( new IntervalsDescriptor ( ) . Match ( v ) ) ) ;
0 commit comments