Skip to content

Commit a8e8108

Browse files
committed
Add PatternReplaceTokenFilter Flags property (#4090)
f845aab adds Flags property to PatternReplaceCharFilter. This commit adds Flags to PatternReplaceTokenFilter (cherry picked from commit b152520)
1 parent 057cb71 commit a8e8108

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

src/Nest/Analysis/TokenFilters/PatternReplaceTokenFilter.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ namespace Nest
77
/// </summary>
88
public interface IPatternReplaceTokenFilter : ITokenFilter
99
{
10+
/// <summary>
11+
/// The flags for the regular expression
12+
/// </summary>
13+
[JsonProperty("flags")]
14+
string Flags { get; set; }
15+
1016
/// <summary>
1117
/// The regular expression
1218
/// </summary>
@@ -25,6 +31,9 @@ public class PatternReplaceTokenFilter : TokenFilterBase, IPatternReplaceTokenFi
2531
{
2632
public PatternReplaceTokenFilter() : base("pattern_replace") { }
2733

34+
/// <inheritdoc />
35+
public string Flags { get; set; }
36+
2837
/// <inheritdoc />
2938
public string Pattern { get; set; }
3039

@@ -39,13 +48,16 @@ public class PatternReplaceTokenFilterDescriptor
3948
protected override string Type => "pattern_replace";
4049

4150
string IPatternReplaceTokenFilter.Pattern { get; set; }
42-
4351
string IPatternReplaceTokenFilter.Replacement { get; set; }
52+
string IPatternReplaceTokenFilter.Flags { get; set; }
4453

45-
/// <inheritdoc />
54+
/// <inheritdoc cref="IPatternReplaceTokenFilter.Flags" />
55+
public PatternReplaceTokenFilterDescriptor Flags(string flags) => Assign(flags, (a, v) => a.Flags = v);
56+
57+
/// <inheritdoc cref="IPatternReplaceTokenFilter.Pattern" />
4658
public PatternReplaceTokenFilterDescriptor Pattern(string pattern) => Assign(pattern, (a, v) => a.Pattern = v);
4759

48-
/// <inheritdoc />
60+
/// <inheritdoc cref="IPatternReplaceTokenFilter.Replacement" />
4961
public PatternReplaceTokenFilterDescriptor Replacement(string replacement) => Assign(replacement, (a, v) => a.Replacement = v);
5062
}
5163
}

src/Tests/Tests/Analysis/TokenFilters/TokenFilterTests.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ public class MarkerTests : TokenFilterAssertionBase<MarkerTests>
347347

348348
public override string Name => "marker";
349349
}
350-
350+
351351
public class MarkerWithPatternsTests : TokenFilterAssertionBase<MarkerWithPatternsTests>
352352
{
353353
public override FuncTokenFilters Fluent => (n, tf) => tf
@@ -493,16 +493,18 @@ public class PatternReplaceTests : TokenFilterAssertionBase<PatternReplaceTests>
493493
{
494494
public override FuncTokenFilters Fluent => (n, tf) => tf
495495
.PatternReplace(n, t => t
496+
.Flags("CASE_INSENSITIVE")
496497
.Pattern(@"(\d|\w)")
497498
.Replacement("replacement")
498499
);
499500

500501
public override ITokenFilter Initializer =>
501-
new PatternReplaceTokenFilter { Pattern = @"(\d|\w)", Replacement = "replacement" };
502+
new PatternReplaceTokenFilter { Flags = "CASE_INSENSITIVE", Pattern = @"(\d|\w)", Replacement = "replacement" };
502503

503504
public override object Json => new
504505
{
505506
type = "pattern_replace",
507+
flags = "CASE_INSENSITIVE",
506508
pattern = "(\\d|\\w)",
507509
replacement = "replacement"
508510
};

0 commit comments

Comments
 (0)