Skip to content

Commit 74bcbc7

Browse files
Stuart Camrusscam
Stuart Cam
authored andcommitted
Add keywords_pattern to Keyword Marker Token Filter. (#3558)
A regular expression pattern to match against words in the text.
1 parent 023f0e8 commit 74bcbc7

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/Nest/Analysis/TokenFilters/KeywordMarkerTokenFilter.cs

+14
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ public interface IKeywordMarkerTokenFilter : ITokenFilter
2525
/// </summary>
2626
[JsonProperty("keywords_path")]
2727
string KeywordsPath { get; set; }
28+
29+
/// <summary>
30+
/// A regular expression pattern to match against words in the text.
31+
/// </summary>
32+
[JsonProperty("keywords_pattern")]
33+
string KeywordsPattern { get; set; }
2834
}
2935

3036
/// <inheritdoc />
@@ -40,6 +46,9 @@ public KeywordMarkerTokenFilter() : base("keyword_marker") { }
4046

4147
/// <inheritdoc />
4248
public string KeywordsPath { get; set; }
49+
50+
/// <inheritdoc />
51+
public string KeywordsPattern { get; set; }
4352
}
4453

4554
/// <inheritdoc />
@@ -52,12 +61,17 @@ public class KeywordMarkerTokenFilterDescriptor
5261
IEnumerable<string> IKeywordMarkerTokenFilter.Keywords { get; set; }
5362
string IKeywordMarkerTokenFilter.KeywordsPath { get; set; }
5463

64+
string IKeywordMarkerTokenFilter.KeywordsPattern { get; set; }
65+
5566
/// <inheritdoc />
5667
public KeywordMarkerTokenFilterDescriptor IgnoreCase(bool? ignoreCase = true) => Assign(a => a.IgnoreCase = ignoreCase);
5768

5869
/// <inheritdoc />
5970
public KeywordMarkerTokenFilterDescriptor KeywordsPath(string path) => Assign(a => a.KeywordsPath = path);
6071

72+
/// <inheritdoc />
73+
public KeywordMarkerTokenFilterDescriptor KeywordsPattern(string pattern) => Assign(a => a.KeywordsPattern = pattern);
74+
6175
/// <inheritdoc />
6276
public KeywordMarkerTokenFilterDescriptor Keywords(IEnumerable<string> keywords) => Assign(a => a.Keywords = keywords);
6377

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

+6-2
Original file line numberDiff line numberDiff line change
@@ -334,15 +334,19 @@ public class MarkerTests : TokenFilterAssertionBase<MarkerTests>
334334
.KeywordMarker("marker", t => t
335335
.IgnoreCase()
336336
.Keywords("a", "b")
337+
.KeywordsPattern(".*")
338+
.KeywordsPath("path")
337339
);
338340

339-
public override ITokenFilter Initializer => new KeywordMarkerTokenFilter { IgnoreCase = true, Keywords = new[] { "a", "b" } };
341+
public override ITokenFilter Initializer => new KeywordMarkerTokenFilter { IgnoreCase = true, Keywords = new[] { "a", "b" }, KeywordsPath = "path", KeywordsPattern = ".*" };
340342

341343
public override object Json => new
342344
{
343345
type = "keyword_marker",
344346
keywords = new[] { "a", "b" },
345-
ignore_case = true
347+
ignore_case = true,
348+
keywords_path = "path",
349+
keywords_pattern = ".*"
346350
};
347351

348352
public override string Name => "marker";

0 commit comments

Comments
 (0)