Skip to content

Commit f845aab

Browse files
Andrew Welburnrusscam
authored andcommitted
Add PatternReplaceTokenFilter Flags property (#4086)
Closes #4085
1 parent dfb5452 commit f845aab

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/Nest/Analysis/CharFilters/PatternReplaceCharFilter.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ namespace Nest
77
/// </summary>
88
public interface IPatternReplaceCharFilter : ICharFilter
99
{
10+
[DataMember(Name ="flags")]
11+
string Flags { get; set; }
12+
1013
[DataMember(Name ="pattern")]
1114
string Pattern { get; set; }
1215

@@ -19,6 +22,9 @@ public class PatternReplaceCharFilter : CharFilterBase, IPatternReplaceCharFilte
1922
{
2023
public PatternReplaceCharFilter() : base("pattern_replace") { }
2124

25+
/// <inheritdoc />
26+
public string Flags { get; set; }
27+
2228
/// <inheritdoc />
2329
public string Pattern { get; set; }
2430

@@ -31,9 +37,15 @@ public class PatternReplaceCharFilterDescriptor
3137
: CharFilterDescriptorBase<PatternReplaceCharFilterDescriptor, IPatternReplaceCharFilter>, IPatternReplaceCharFilter
3238
{
3339
protected override string Type => "pattern_replace";
40+
41+
string IPatternReplaceCharFilter.Flags { get; set; }
3442
string IPatternReplaceCharFilter.Pattern { get; set; }
3543
string IPatternReplaceCharFilter.Replacement { get; set; }
3644

45+
/// <inheritdoc />
46+
public PatternReplaceCharFilterDescriptor Flags(string flags) =>
47+
Assign(flags, (a, v) => a.Flags = v);
48+
3749
/// <inheritdoc />
3850
public PatternReplaceCharFilterDescriptor Pattern(string pattern) =>
3951
Assign(pattern, (a, v) => a.Pattern = v);

src/Tests/Tests/Analysis/CharFilters/CharFilterTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ public class MappingTests : CharFilterAssertionBase<MappingTests>
1717

1818
public class PatternReplaceTests : CharFilterAssertionBase<PatternReplaceTests>
1919
{
20-
public override FuncTokenizer Fluent => (n, cf) => cf.PatternReplace(n, c => c.Pattern("x").Replacement("y"));
21-
public override ICharFilter Initializer => new PatternReplaceCharFilter { Pattern = "x", Replacement = "y" };
22-
public override object Json => new { pattern = "x", replacement = "y", type = "pattern_replace" };
20+
public override FuncTokenizer Fluent => (n, cf) => cf.PatternReplace(n, c => c.Flags("CASE_INSENSITIVE").Pattern("x").Replacement("y"));
21+
public override ICharFilter Initializer => new PatternReplaceCharFilter { Flags = "CASE_INSENSITIVE", Pattern = "x", Replacement = "y" };
22+
public override object Json => new { flags = "CASE_INSENSITIVE", pattern = "x", replacement = "y", type = "pattern_replace" };
2323
public override string Name => "pr";
2424
}
2525

0 commit comments

Comments
 (0)