【发布时间】:2019-05-21 05:43:07
【问题描述】:
要求是创建一个自定义分析器,它可以生成两个令牌,如下所示。
例如
Input -> B.tech in
Output Tokens ->
- btechin
- b.tech in
我可以删除非字母数字字符,但如何在输出标记列表中保留原始字符。下面是我创建的自定义分析器。
"alphanumericStringAnalyzer": {
"filter": [
"lowercase",
"minLength_filter"],
"char_filter": [
"specialCharactersFilter"
],
"type": "custom",
"tokenizer": "keyword"
}
"char_filter": {
"specialCharactersFilter": {
"pattern": "[^A-Za-z0-9]",
"type": "pattern_replace",
"replacement": ""
}
},
此分析器正在为输入“B.tech in”生成单个标记“btechin”,但我也希望在标记列表“B.tech in”中也有原始标记
谢谢!
【问题讨论】:
-
我认为不可能,您可以创建另一个字段并将该字段的值复制到其中并将其传递给关键字标记器?这也有助于您为什么需要此功能
标签: elasticsearch tokenize analyzer elasticsearch-6