【发布时间】:2014-08-20 19:32:17
【问题描述】:
我正在努力构建一个分析器来将我的类型字符串 222*abc**xyz******332434 分解为 222,abc,xyz,332434 标记。 * 可以替换我的任何特殊字符。除了提供正则表达式模式之外,我还需要添加任何过滤器吗?
【问题讨论】:
-
使标题简短而甜美。在帖子中添加额外信息。
标签: regex indexing elasticsearch tokenize
我正在努力构建一个分析器来将我的类型字符串 222*abc**xyz******332434 分解为 222,abc,xyz,332434 标记。 * 可以替换我的任何特殊字符。除了提供正则表达式模式之外,我还需要添加任何过滤器吗?
【问题讨论】:
标签: regex indexing elasticsearch tokenize
【讨论】:
如果“任何特殊字符”不是字母数字,您可以在 \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": {}
}'
【讨论】: