ElasticSearch使用IK分词器自定义分词不起作用

问题

ElasticSearch安装IK分词器后,写了一个自己的自定义分词
在这里插入图片描述
ElasticSearch使用IK分词器自定义分词不起作用_第1张图片
但是配置之后使用

GET _analyze
{
  "analyzer": "ik_max_word",
  "text": "超级挖槽"
}

结果

{
  "tokens" : [
    {
      "token" : "超级",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "挖",
      "start_offset" : 2,
      "end_offset" : 3,
      "type" : "CN_CHAR",
      "position" : 1
    },
    {
      "token" : "槽",
      "start_offset" : 3,
      "end_offset" : 4,
      "type" : "CN_CHAR",
      "position" : 2
    }
  ]
}

查看控制台,my.dic也确实加载了。
ElasticSearch使用IK分词器自定义分词不起作用_第2张图片
但就是并没有起作用。来回重启了好几次也没有解决问题,网上查了也没有解决,就反复试。

原因

我是直接右键新建文本文档,然后将文件名修改为my.dic。这个就可能出现编码问题
使用notepad++打开后发现果然,编码为ANSI
在这里插入图片描述
然后使用notepad++打开config里面写好的main.dic查看应该的编码为UTF-8-BOM
在这里插入图片描述
然后只需要,修改自定义分词文件的编码为UTF-8-BOM就可以解决问题

{
  "tokens" : [
    {
      "token" : "超级",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "挖槽",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 1
    }
  ]
}

你可能感兴趣的:(elasticsearch,elasticsearch)