简单模式拆分分词器
编辑简单模式拆分分词器编辑
simple_pattern_split
分词器使用正则表达式在模式匹配处将输入拆分为词条。它支持的正则表达式功能集比 pattern
分词器更有限,但分词速度通常更快。
此分词器不会从匹配项本身生成词条。要使用相同受限正则表达式子集中的模式从匹配项生成词条,请参见 simple_pattern
分词器。
此分词器使用 Lucene 正则表达式。有关支持的功能和语法的说明,请参见 正则表达式语法。
默认模式为空字符串,它会生成一个包含完整输入的词条。此分词器应始终配置为使用非默认模式。
配置编辑
simple_pattern_split
分词器接受以下参数
|
一个 Lucene 正则表达式,默认为空字符串。 |
示例配置编辑
此示例配置 simple_pattern_split
分词器以在下划线处拆分输入文本。
response = client.indices.create( index: 'my-index-000001', body: { settings: { analysis: { analyzer: { my_analyzer: { tokenizer: 'my_tokenizer' } }, tokenizer: { my_tokenizer: { type: 'simple_pattern_split', pattern: '_' } } } } } ) puts response response = client.indices.analyze( index: 'my-index-000001', body: { analyzer: 'my_analyzer', text: 'an_underscored_phrase' } ) puts response
PUT my-index-000001 { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "my_tokenizer" } }, "tokenizer": { "my_tokenizer": { "type": "simple_pattern_split", "pattern": "_" } } } } } POST my-index-000001/_analyze { "analyzer": "my_analyzer", "text": "an_underscored_phrase" }
以上示例会生成以下词条
[ an, underscored, phrase ]