简单模式分词器
编辑简单模式分词器
编辑simple_pattern
分词器使用正则表达式来捕获匹配的文本作为词项。它支持的正则表达式功能集比 pattern
分词器更有限,但分词速度通常更快。
与 pattern
分词器不同,此分词器不支持在模式匹配上分割输入。要使用相同的受限正则表达式子集在模式匹配上进行分割,请参阅 simple_pattern_split
分词器。
此分词器使用 Lucene 正则表达式。有关支持的功能和语法的说明,请参阅 正则表达式语法。
默认模式是空字符串,它不会产生任何词项。此分词器应始终配置为非默认模式。
配置
编辑simple_pattern
分词器接受以下参数:
|
Lucene 正则表达式,默认为空字符串。 |
配置示例
编辑此示例将 simple_pattern
分词器配置为生成三位数字的词项
resp = client.indices.create( index="my-index-000001", settings={ "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "my_tokenizer" } }, "tokenizer": { "my_tokenizer": { "type": "simple_pattern", "pattern": "[0123456789]{3}" } } } }, ) print(resp) resp1 = client.indices.analyze( index="my-index-000001", analyzer="my_analyzer", text="fd-786-335-514-x", ) print(resp1)
response = client.indices.create( index: 'my-index-000001', body: { settings: { analysis: { analyzer: { my_analyzer: { tokenizer: 'my_tokenizer' } }, tokenizer: { my_tokenizer: { type: 'simple_pattern', pattern: '[0123456789]{3}' } } } } } ) puts response response = client.indices.analyze( index: 'my-index-000001', body: { analyzer: 'my_analyzer', text: 'fd-786-335-514-x' } ) puts response
const response = await client.indices.create({ index: "my-index-000001", settings: { analysis: { analyzer: { my_analyzer: { tokenizer: "my_tokenizer", }, }, tokenizer: { my_tokenizer: { type: "simple_pattern", pattern: "[0123456789]{3}", }, }, }, }, }); console.log(response); const response1 = await client.indices.analyze({ index: "my-index-000001", analyzer: "my_analyzer", text: "fd-786-335-514-x", }); console.log(response1);
PUT my-index-000001 { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "my_tokenizer" } }, "tokenizer": { "my_tokenizer": { "type": "simple_pattern", "pattern": "[0123456789]{3}" } } } } } POST my-index-000001/_analyze { "analyzer": "my_analyzer", "text": "fd-786-335-514-x" }
上面的示例生成以下词项:
[ 786, 335, 514 ]