我正在努力构建一个分析器,将222*abc**xyz******332434
类型的字符串作为222,abc,xyz,332434
标记。 *可以替换我的任何特殊字符。除了提供正则表达式,我还需要添加任何过滤器吗?
答案 0 :(得分:1)
如果"任何特殊字符"是非字母数字,你可以在\W
上创建一个简单的模式标记器。
可在此处玩的可运行示例:https://found.no/play/gist/8b2d6dc03731c1e2daef#analysis
export ELASTICSEARCH_ENDPOINT="http://localhost:9200"
curl -XPUT "$ELASTICSEARCH_ENDPOINT/index_name" -d '{
"settings": {
"analysis": {
"analyzer": {
"myAnalyzer": {
"type": "custom",
"tokenizer": "specials"
}
},
"tokenizer": {
"specials": {
"type": "pattern",
"pattern": "\\W"
}
}
}
},
"mappings": {}
}'
答案 1 :(得分:1)