我在弹性搜索中为索引使用默认令牌生成器(标准)。并向其中添加文档。但是标准标记器无法拆分带有“。”的单词点在其中。例如:
POST _analyze
{
"tokenizer": "standard",
"text": "pink.jpg"
}
给我的答复是:
{
"tokens": [
{
"token": "pink.jpg",
"start_offset": 0,
"end_offset": 8,
"type": "<ALPHANUM>",
"position": 0
}
]
}
以上回答在一词中显示了整个单词。我们可以在标准令牌生成器中使用“。”(点)运算符将其分为两个术语吗?标准令牌生成器中对此有任何设置吗?
答案 0 :(得分:1)
使用标准令牌生成器无法实现所需的功能,但是这里的字母令牌生成器可以帮助您
POST _analyze
{
"tokenizer": "letter",
"text": "pink.jpg"
}
产生
{
"tokens": [
{
"token": "pink",
"start_offset": 0,
"end_offset": 4,
"type": "word",
"position": 0
},
{
"token": "jpg",
"start_offset": 5,
"end_offset": 8,
"type": "word",
"position": 1
}
]
}
答案 1 :(得分:0)
Letter Tokenizer会做您想要的事情,不确定是否能覆盖您的所有用例。
Standard Tokenizer只有一个配置参数`max_token_length,这对您的情况没有帮助。