es elasticsearch char

es elasticsearch char,第1张

es elasticsearch char

特殊字符会影响分词效果,需要特殊字符过滤,优化匹配,所以需要修改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 替换为 空格。分词结果如下

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5611068.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存