elasticsearch 中文ik分词器的安装使用

一、ik中文分词器的安装,两种方法:

到官网下载没有编译的版本自己编译好了进行安装。官方地址:https://github.com/medcl/elasticsearch-analysis-ik。不过这种方法稍微麻烦一点,我们可以用第二种方法:直接下载官方已经编译好的版本。

  1. ①下载编译好的安装包:https://github.com/medcl/elasticsearch-analysis-ik/releases。注意下载版本要对应。
    ②下载好了之后解压,将解压后的文件夹放在elasticsearch目录下的plugins目录下,并重命名为analysis-ik
    ③将analysis-ik下config目录整个拷贝到elasticsearch目录下的config目录下,并重命名为ik
    ④ 重启elasticsearch

二、分词器的使用

1、ik带有两个分词器:

  • ik_max_word :会将文本做最细粒度的拆分;尽可能多的拆分出词语
  • ik_smart:会做最粗粒度的拆分;已被分出的词语将不会再次被其它词语占有
    看下边的例子就会明白他们的区别了:
    ik_smart:
    在终端输入以下语句:
curl -XGET 'http://192.168.198.223:9200/_analyze?pretty&analyzer=ik_smart' -d '五星红旗迎风飘扬'

返回如下内容:

{
  "tokens" : [
    {
      "token" : "五星红旗",
      "start_offset" : 0,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "迎风",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "CN_WORD",
      "position" : 1
    },
    {
      "token" : "飘扬",
      "start_offset" : 6,
      "end_offset" : 8,
      "type" : "CN_WORD",
      "position" : 2
    }
  ]
}

ik_max_word:
在终端输入以下内容:

curl -XGET 'http://192.168.198.223:9200/_analyze?pretty&analyzer=ik_max_word' -d '五星红旗迎风飘扬'

返回如下内容:

{
  "tokens" : [
    {
      "token" : "五星红旗",
      "start_offset" : 0,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "五星",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 1
    },
    {
      "token" : "五",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "TYPE_CNUM",
      "position" : 2
    },
    {
      "token" : "星",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "CN_CHAR",
      "position" : 3
    },
    {
      "token" : "红旗",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 4
    },
    {
      "token" : "迎风",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "CN_WORD",
      "position" : 5
    },
    {
      "token" : "飘扬",
      "start_offset" : 6,
      "end_offset" : 8,
      "type" : "CN_WORD",
      "position" : 6
    },
    {
      "token" : "飘",
      "start_offset" : 6,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 7
    },
    {
      "token" : "扬",
      "start_offset" : 7,
      "end_offset" : 8,
      "type" : "CN_WORD",
      "position" : 8
    }
  ]
}

2、:

你可能感兴趣的:(elasticsearch 中文ik分词器的安装使用)