参考代码:
PUT /index
{
"settings": {
"analysis": {
"char_filter": {
"_to_space": {
"type": "mapping",
"mappings": [
"_ =>\\u0020"
]
}
},
"analyzer": {
"my_analyzer": {
"type": "custom",
"char_filter": [
"_to_space"
],
"tokenizer": "whitespace",
"filter": [
"lowercase"
]
}
}
}
}
}
以上思路简单描述下,其实底层还是使用的空格分词器,只是添加了一个过滤器,把下划线_换成了空格\u0020,扩展下,这里自然也可以把其他符号转成空格,再交给空格分词器做处理。