1- using System . Runtime . Serialization ;
1+ using System . Collections . Generic ;
2+ using System . Runtime . Serialization ;
23using Elasticsearch . Net ;
34
45namespace Nest
@@ -36,6 +37,16 @@ public interface INoriTokenizer : ITokenizer
3637 /// </summary>
3738 [ DataMember ( Name = "user_dictionary" ) ]
3839 string UserDictionary { get ; set ; }
40+
41+ /// <summary>
42+ /// The Nori tokenizer uses the mecab-ko-dic dictionary by default. A user_dictionary with custom nouns (NNG)
43+ /// can be specified inline with this property
44+ /// </summary>
45+ /// <remarks>
46+ /// Valid for Elasticsearch 6.6.0+
47+ /// </remarks>
48+ [ DataMember ( Name = "user_dictionary_rules" ) ]
49+ IEnumerable < string > UserDictionaryRules { get ; set ; }
3950 }
4051
4152 /// <inheritdoc cref="INoriTokenizer" />
@@ -48,6 +59,9 @@ public class NoriTokenizer : TokenizerBase, INoriTokenizer
4859
4960 /// <inheritdoc cref="INoriTokenizer.UserDictionary" />
5061 public string UserDictionary { get ; set ; }
62+
63+ /// <inheritdoc cref="INoriTokenizer.UserDictionaryRules" />
64+ public IEnumerable < string > UserDictionaryRules { get ; set ; }
5165 }
5266
5367 /// <inheritdoc cref="INoriTokenizer" />
@@ -58,11 +72,18 @@ public class NoriTokenizerDescriptor
5872
5973 NoriDecompoundMode ? INoriTokenizer . DecompoundMode { get ; set ; }
6074 string INoriTokenizer . UserDictionary { get ; set ; }
75+ IEnumerable < string > INoriTokenizer . UserDictionaryRules { get ; set ; }
6176
6277 /// <inheritdoc cref="INoriTokenizer.DecompoundMode" />
6378 public NoriTokenizerDescriptor DecompoundMode ( NoriDecompoundMode ? mode ) => Assign ( mode , ( a , v ) => a . DecompoundMode = v ) ;
6479
6580 /// <inheritdoc cref="INoriTokenizer.UserDictionary" />
6681 public NoriTokenizerDescriptor UserDictionary ( string path ) => Assign ( path , ( a , v ) => a . UserDictionary = v ) ;
82+
83+ /// <inheritdoc cref="INoriTokenizer.UserDictionaryRules" />
84+ public NoriTokenizerDescriptor UserDictionaryRules ( params string [ ] rules ) => Assign ( rules , ( a , v ) => a . UserDictionaryRules = v ) ;
85+
86+ /// <inheritdoc cref="INoriTokenizer.UserDictionaryRules" />
87+ public NoriTokenizerDescriptor UserDictionaryRules ( IEnumerable < string > rules ) => Assign ( rules , ( a , v ) => a . UserDictionaryRules = v ) ;
6788 }
6889}
0 commit comments