字母词元生成器 #
字母(letter
)词元生成器会根据任何非字母字符将文本拆分成单词。它在处理许多欧洲语种时效果良好,但对于一些亚洲语种却不太有效,因为在亚洲语种中,单词之间不是由空格来分隔的。
参考样例 #
下面的示例请求创建了一个名为 my_index
的新索引,并配置了一个使用字母词元生成器的分词器。
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_letter_analyzer": {
"type": "custom",
"tokenizer": "letter"
}
}
}
},
"mappings": {
"properties": {
"content": {
"type": "text",
"analyzer": "my_letter_analyzer"
}
}
}
}
产生的词元 #
使用以下请求来检查使用该分词器生成的词元:
POST _analyze
{
"tokenizer": "letter",
"text": "Cats 4EVER love chasing butterflies!"
}
返回内容包含产生的词元
{
"tokens": [
{
"token": "Cats",
"start_offset": 0,
"end_offset": 4,
"type": "word",
"position": 0
},
{
"token": "EVER",
"start_offset": 6,
"end_offset": 10,
"type": "word",
"position": 1
},
{
"token": "love",
"start_offset": 11,
"end_offset": 15,
"type": "word",
"position": 2
},
{
"token": "chasing",
"start_offset": 16,
"end_offset": 23,
"type": "word",
"position": 3
},
{
"token": "butterflies",
"start_offset": 24,
"end_offset": 35,
"type": "word",
"position": 4
}
]
}