Pattern Tokenizer 支持参数"group"
它有一个默认的“-1”,这意味着使用模式进行分割,这就是你所看到的。
但是,通过在您的模式中定义一个组 >= 0 并设置组参数,这是可以做到的!例如。以下标记器会将输入拆分为 4 个字符的标记:
PUT my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "pattern",
"pattern": "(.{4})",
"group": "1"
}
}
}
}
}
通过以下方式分析文档:
POST my_index/_analyze
{
"analyzer": "my_analyzer",
"text": "comma,separated,values"
}
产生以下标记:
{
"tokens": [
{
"token": "comm",
"start_offset": 0,
"end_offset": 4,
"type": "word",
"position": 0
},
{
"token": "a,se",
"start_offset": 4,
"end_offset": 8,
"type": "word",
"position": 1
},
{
"token": "para",
"start_offset": 8,
"end_offset": 12,
"type": "word",
"position": 2
},
{
"token": "ted,",
"start_offset": 12,
"end_offset": 16,
"type": "word",
"position": 3
},
{
"token": "valu",
"start_offset": 16,
"end_offset": 20,
"type": "word",
"position": 4
}
]
}