真枫无影 2021-09-06 12:29 采纳率: 50%
浏览 1458
已结题

IK 分词,当英文与数字 混合搜索时,遇到 Elasticsearch 分词问题 。

一、遇到问题的现象描述
1.1 英文和特殊字符连在一起的的分词,比如 Special Feature Note for T972-SE.pdf
1.2 使用 ik_smart 会直接分词为 t972-se.pdf
1.3 使用 ik_max_word 会分词为:

img

img

二、希望达到的效果
2.1 要求分词为 t972 和 se,且不分词成单独 t
2.2 使用的 ik 的自定义字典, 将 - 作为单词, 只对 ik_max_word 起作用,对 ik_smart 无效
2.3 要求不能 搜 t 搜出来结果

三、我尝试的解决办法
3.1 我还使用了 字符过滤器 char_filter
3.2 处理了特殊字符,使用的自定义分词器为 my_analyzer,也有分出单个字符
3.3 T972-SE.pdf 把这个当做分隔符,横杠,也试过。
3.4 标准分词器不能对中文分词,也不支持大小写,所以只能用IK。

img

四、操作环境、软件版本
4.1 IK 与 ES,都是6.4.3
4.2 操作系统使用 Linux

五、麻烦看看,如何收费
5.1 我认可知识付费。
5.2 可以根据标准,提供收费方式。

  • 写回答

5条回答 默认 最新

  • 这是谁的博客? 后端领域优质创作者 2021-09-07 19:22
    关注
    PUT /test_analyzer
    {
      "settings": {
        "analysis": {
          "analyzer": {
            "test_analyzer": {
              "tokenizer": "ik_max_word",
              "char_filter": "patten_char_filter",
              "filter": "stop_filter"
            }
          },
          "char_filter": {
              "patten_char_filter": {
              "type" : "pattern_replace",
              "pattern" : "-",
              "replacement" : " "
            }
          },
          "filter": {
            "stop_filter": {
              "type"      : "stop",
              "stopwords" : ["t"]
            }
          }
        }
      }
    }
     
     
    GET /test_analyzer/_analyze
    {
      "analyzer": "test_analyzer", 
      "text": "Special Feature Note for T972-SE.pdf"
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日
  • 赞助了问题酬金 9月6日
  • 修改了问题 9月6日
  • 展开全部

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵