elasticsearch-安装分词器ik

点击这里了解更多elasticsearch知识

为什么要安装ik呢?因为elasticsearch默认的分词器在拆分汉子的时候,会将一句话拆分成单个汉子去查询,这样对于汉语分词不太友好,比如我搜索的时候输入了“企业中心”,我并不希望这四个字被拆分为“企”“业”“中”“心”,而是“企业”“中心”,这时候就需要用到ik分词器了。

版本号

对应于我的博客https://blog.csdn.net/msx985211/article/details/102809980中elasticsearch的版本号,即7.2.0。

下载

访问https://github.com/medcl/elasticsearch-analysis-ik/releases,选择与你的elasticsearch相对应的版本(我这里选择的是7.2.0),如下图所示复制下载链接:

执行命令 wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip 下载压缩包。

安装

下载完成之后,先到elasticsearch的plugin目录下执行命令 mkdir ik 创建ik文件夹,然后将下载的压缩包放到ik文件夹中,并执行命令 unzip elasticsearch-analysis-ik-7.2.0.zip 解压,解压后删除压缩包,解压后内容如下:

重启elasticsearch,在kibana中执行

GET _analyze
{
  "analyzer": "ik_max_word",
  "text": ["企业中心"]
}

如果返回的分词为“企业”“中心”,说明ik安装成功。

测试

创建指定分词器的索引

PUT project_project
{
  "settings":{
    "number_of_shards": "6",
    "number_of_replicas": "1",
    "analysis":{
      "analyzer":{
        "ik":{
          "tokenizer":"ik_max_word"
        }
      }
    }
  },
  "mappings":{
    "properties":{
      "name":{
        "type":"text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      },
      "type":{
        "type":"text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      }
    }
  }
}

上面json中ik_max_word就是我们指定的ik分词器。

给project_project索引下添加一些数据。

查询测试:

 

上述测试中,京兰会被拆成京和兰,因此会查询出name中有京和兰两个字的记录。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值