经典分词器
编辑经典分词器编辑
classic
分词器是一种基于语法的分词器,适用于英语文档。此分词器对首字母缩略词、公司名称、电子邮件地址和互联网主机名有特殊的处理方法。但是,这些规则并不总是有效,并且该分词器不适用于除英语以外的大多数语言。
- 它在大多数标点符号处拆分单词,并删除标点符号。但是,不带空格的点被视为标记的一部分。
- 它在连字符处拆分单词,除非标记中存在数字,在这种情况下,整个标记将被解释为产品编号,并且不会被拆分。
- 它将电子邮件地址和互联网主机名识别为一个标记。
示例输出编辑
response = client.indices.analyze( body: { tokenizer: 'classic', text: "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone." } ) puts response
POST _analyze { "tokenizer": "classic", "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone." }
以上句子将产生以下词条
[ The, 2, QUICK, Brown, Foxes, jumped, over, the, lazy, dog's, bone ]
配置编辑
classic
分词器接受以下参数
|
最大标记长度。如果看到的标记超过此长度,则会在 |
示例配置编辑
在此示例中,我们将 classic
分词器的 max_token_length
配置为 5(用于演示目的)
response = client.indices.create( index: 'my-index-000001', body: { settings: { analysis: { analyzer: { my_analyzer: { tokenizer: 'my_tokenizer' } }, tokenizer: { my_tokenizer: { type: 'classic', max_token_length: 5 } } } } } ) puts response response = client.indices.analyze( index: 'my-index-000001', body: { analyzer: 'my_analyzer', text: "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone." } ) puts response
PUT my-index-000001 { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "my_tokenizer" } }, "tokenizer": { "my_tokenizer": { "type": "classic", "max_token_length": 5 } } } } } POST my-index-000001/_analyze { "analyzer": "my_analyzer", "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone." }
以上示例产生以下词条
[ The, 2, QUICK, Brown, Foxes, jumpe, d, over, the, lazy, dog's, bone ]