我想标记" a.b.c
"进入ElasticSearch的{{1}}部分。我尝试了一些正则表达式,但更新令牌化器很乏味,而且我在正则表达式上非常糟糕,所以我要求帮助。
我已经尝试过这个公式,但他们并没有给我我想要的东西:
a, a.b, a.b.c, b.c, b, c
答案 0 :(得分:2)
试试这个,
PUT my_sample
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "path_hierarchy",
"delimiter": ".",
"replacement": "."
}
}
}
}
}
然后,
POST my_sample/_analyze
{
"analyzer": "my_analyzer",
"text": "a.b.c"
}
它将产生以下术语:
[ a.b.c., a.b., b.c., a., b., c. ]
然后你可以通过你的程序轻松处理它