diff --git a/src/Nest/Analysis/TokenFilters/PatternReplaceTokenFilter.cs b/src/Nest/Analysis/TokenFilters/PatternReplaceTokenFilter.cs
index 3a6fe923705..098865984f9 100644
--- a/src/Nest/Analysis/TokenFilters/PatternReplaceTokenFilter.cs
+++ b/src/Nest/Analysis/TokenFilters/PatternReplaceTokenFilter.cs
@@ -7,6 +7,12 @@ namespace Nest
///
public interface IPatternReplaceTokenFilter : ITokenFilter
{
+ ///
+ /// The flags for the regular expression
+ ///
+ [DataMember(Name ="flags")]
+ string Flags { get; set; }
+
///
/// The regular expression
///
@@ -25,6 +31,9 @@ public class PatternReplaceTokenFilter : TokenFilterBase, IPatternReplaceTokenFi
{
public PatternReplaceTokenFilter() : base("pattern_replace") { }
+ ///
+ public string Flags { get; set; }
+
///
public string Pattern { get; set; }
@@ -39,13 +48,16 @@ public class PatternReplaceTokenFilterDescriptor
protected override string Type => "pattern_replace";
string IPatternReplaceTokenFilter.Pattern { get; set; }
-
string IPatternReplaceTokenFilter.Replacement { get; set; }
+ string IPatternReplaceTokenFilter.Flags { get; set; }
- ///
+ ///
+ public PatternReplaceTokenFilterDescriptor Flags(string flags) => Assign(flags, (a, v) => a.Flags = v);
+
+ ///
public PatternReplaceTokenFilterDescriptor Pattern(string pattern) => Assign(pattern, (a, v) => a.Pattern = v);
- ///
+ ///
public PatternReplaceTokenFilterDescriptor Replacement(string replacement) => Assign(replacement, (a, v) => a.Replacement = v);
}
}
diff --git a/src/Tests/Tests/Analysis/TokenFilters/TokenFilterTests.cs b/src/Tests/Tests/Analysis/TokenFilters/TokenFilterTests.cs
index a79ba57bc4c..50483d07e13 100644
--- a/src/Tests/Tests/Analysis/TokenFilters/TokenFilterTests.cs
+++ b/src/Tests/Tests/Analysis/TokenFilters/TokenFilterTests.cs
@@ -347,7 +347,7 @@ public class MarkerTests : TokenFilterAssertionBase
public override string Name => "marker";
}
-
+
public class MarkerWithPatternsTests : TokenFilterAssertionBase
{
public override FuncTokenFilters Fluent => (n, tf) => tf
@@ -493,16 +493,18 @@ public class PatternReplaceTests : TokenFilterAssertionBase
{
public override FuncTokenFilters Fluent => (n, tf) => tf
.PatternReplace(n, t => t
+ .Flags("CASE_INSENSITIVE")
.Pattern(@"(\d|\w)")
.Replacement("replacement")
);
public override ITokenFilter Initializer =>
- new PatternReplaceTokenFilter { Pattern = @"(\d|\w)", Replacement = "replacement" };
+ new PatternReplaceTokenFilter { Flags = "CASE_INSENSITIVE", Pattern = @"(\d|\w)", Replacement = "replacement" };
public override object Json => new
{
type = "pattern_replace",
+ flags = "CASE_INSENSITIVE",
pattern = "(\\d|\\w)",
replacement = "replacement"
};