我有一些文档包含像
这样的单词{ doc :
"_id" : "A21_A25_A59",
...
}
当我像A25这样的查询时,我没有得到文档。
我认为我必须使用分析器进行映射以吐出'_'字符
但我并不特别喜欢它..
我已经有像
这样的标记器"path_tokenizer" : {
"delimiter" : "/",
"type" : "path_hierarchy"
}
如果我喜欢
"path_tokenizer" : {
"delimiter" : "_",
"type" : "separate_word"
}
那会有用吗?
答案 0 :(得分:0)
您需要使用自定义过滤器将字符_替换为空格。在示例中,它还替换了一些其他特殊字符以及下划线。
例如:
"char_filter": {
"my_pattern": {
"type": "pattern_replace",
"pattern": "(_[-()',])",
"replacement": " "
},
"my_mapping": {
"type": "mapping",
"mappings_path": "/etc/elasticsearch/replace_words.txt"
}
}