@@ -31,6 +31,15 @@ public interface IEdgeNGramTokenFilter : ITokenFilter
3131 /// </summary>
3232 [ DataMember ( Name = "side" ) ]
3333 EdgeNGramSide ? Side { get ; set ; }
34+
35+ /// <summary>
36+ /// Emits original token when set to <c>true</c>. Defaults to <c>false</c>.
37+ /// <para />
38+ /// Available in Elasticsearch 7.8.0+
39+ /// </summary>
40+ [ DataMember ( Name = "preserve_original" ) ]
41+ [ JsonFormatter ( typeof ( NullableStringBooleanFormatter ) ) ]
42+ bool ? PreserveOriginal { get ; set ; }
3443 }
3544
3645 /// <inheritdoc />
@@ -46,6 +55,9 @@ public EdgeNGramTokenFilter() : base("edge_ngram") { }
4655
4756 /// <inheritdoc />
4857 public EdgeNGramSide ? Side { get ; set ; }
58+
59+ /// <inheritdoc />
60+ public bool ? PreserveOriginal { get ; set ; }
4961 }
5062
5163 /// <inheritdoc />
@@ -54,17 +66,21 @@ public class EdgeNGramTokenFilterDescriptor
5466 {
5567 protected override string Type => "edge_ngram" ;
5668 int ? IEdgeNGramTokenFilter . MaxGram { get ; set ; }
57-
5869 int ? IEdgeNGramTokenFilter . MinGram { get ; set ; }
5970 EdgeNGramSide ? IEdgeNGramTokenFilter . Side { get ; set ; }
71+ bool ? IEdgeNGramTokenFilter . PreserveOriginal { get ; set ; }
6072
61- /// <inheritdoc />
73+ /// <inheritdoc cref="IEdgeNGramTokenFilter.MinGram" />
6274 public EdgeNGramTokenFilterDescriptor MinGram ( int ? minGram ) => Assign ( minGram , ( a , v ) => a . MinGram = v ) ;
6375
64- /// <inheritdoc />
76+ /// <inheritdoc cref="IEdgeNGramTokenFilter.MaxGram" />
6577 public EdgeNGramTokenFilterDescriptor MaxGram ( int ? maxGram ) => Assign ( maxGram , ( a , v ) => a . MaxGram = v ) ;
6678
67- /// <inheritdoc />
79+ /// <inheritdoc cref="IEdgeNGramTokenFilter.Side" />
6880 public EdgeNGramTokenFilterDescriptor Side ( EdgeNGramSide ? side ) => Assign ( side , ( a , v ) => a . Side = v ) ;
81+
82+ /// <inheritdoc cref="IEdgeNGramTokenFilter.PreserveOriginal" />
83+ public EdgeNGramTokenFilterDescriptor PreserveOriginal ( bool ? preserveOriginal = true ) =>
84+ Assign ( preserveOriginal , ( a , v ) => a . PreserveOriginal = v ) ;
6985 }
7086}
0 commit comments