用于提取文件名的 Pattern Tokenizer
Pattern Tokenizer for extracting file name
我想在 ElasticSearch 中将“a.b.c
”标记化为 a, a.b, a.b.c, b.c, b, c
部分。我尝试了一些正则表达式,但更新分词器很乏味,而且我的正则表达式非常糟糕,所以我正在寻求帮助。
我已经尝试过这个公式,但他们没有给我想要的东西:
[(^\.)]+
[(.+\.)]+
[^\p{L}\d]+
试试这个,
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. ]
然后你通过你的程序简单地处理它
我想在 ElasticSearch 中将“a.b.c
”标记化为 a, a.b, a.b.c, b.c, b, c
部分。我尝试了一些正则表达式,但更新分词器很乏味,而且我的正则表达式非常糟糕,所以我正在寻求帮助。
我已经尝试过这个公式,但他们没有给我想要的东西:
[(^\.)]+
[(.+\.)]+
[^\p{L}\d]+
试试这个,
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. ]
然后你通过你的程序简单地处理它