uax_url_email tokenizer 类似 standard tokenizer,只不过它会把 URL 和 email 地址当成一个词元。
POST _analyze
{
"tokenizer": "uax_url_email",
"text": "Email me at [email protected]"
}
上面的句子会生成如下的词元:
[ Email, me, at, [email protected] ]
而 standard
tokenizer 会生成:
[ Email, me, at, john.smith, global, international.com ]
uax_url_email
tokenizer 接受以下参数:
max_token_length 单个 token 的最大长度。如果一个 token 超过这个长度,则以 max_token_length 为间隔分割。默认值是
255
.。
下面的例子中,我们配置标准分词器的 max_token_length 为 5 (便于展示):
PUT my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "uax_url_email",
"max_token_length": 5
}
}
}
}
}
POST my_index/_analyze
{
"analyzer": "my_analyzer",
"text": "[email protected]"
}
输出如下:
[ john, smith, globa, l, inter, natio, nal.c, om ]