特殊字符会影响分词效果,需要特殊字符过滤,优化匹配,所以需要修改mapping增加 char_filter 过滤。
“analysis”: {
“filter”: {
}, "char_filter": { "my_char_filter": { "type": "mapping", "mappings": [ "# u003du003e ", "u0026 u003du003e ", "+ u003du003e ", "- u003du003e ", "_ u003du003e ", ". u003du003e ", "@ u003du003e " ] } }, }
通过head 修改tpl 文件 需求对 空格u0020 进行转义 增加 ,使用
$ = > \u0020
才可以生效( 已存在的索引文件 生效需要reindex 重新生成后才可以生效);
然后再 对应需要使用char_filter 的位置 使用
“ik_ik_smart”: {
“filter”: [
“ik_synonym”
],
“char_filter”: [
“my_char_filter”
],
“type”: “custom”,
“use_smart”: “true”,
“tokenizer”: “ik_smart”
},
重跑前 重跑后 可以使用analyze api 指定分词器和 内容进行测试
例如:将# 通过char_filter 替换为 空格。分词结果如下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)