其他分享
首页 > 其他分享> > ElasticSearch集成IK分词器

ElasticSearch集成IK分词器

作者:互联网

IK分词器简介

IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为 面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。

IK分词器3.0的特性如下:


当我们创建索引时,字段使用的是标准分词器,所以在查询的时候时常出现问题,所以下面介绍一下分词器

#默认分词器测试
POST _analyze
{
 "analyzer": "standard",
 "text": "A man becomes learned by asking questions."
}

POST  _analyze
{
  "analyzer": "standard",
  "text":"我是中国人"
}

image

ElasticSearch集成IK分词器

IK分词器的安装

1)下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

注意:下载时一定要下载与当前ES版本一致的分词器版本,免得出现一些其他问题。

2)解压,将解压后的elasticsearch-analysis-ik-7.17.3文件夹拷贝到elasticsearch-7.17.3/plugins下,并重命名文件夹为ik。

image

3)重新启动ElasticSearch,即可加载IK分词器。

cd /usr/local/elasticsearch-7.17.3/bin/
#启动命令
./elasticsearch

#后台启动命令
./elasticsearch -d

IK分词器测试

IK提供了两个分词算法ik_smart 和 ik_max_word

我们分别来试一下:

1)最小切分:

#分词器测试ik_smart
POST  _analyze
{
    "analyzer":"ik_smart",
    "text":"我是中国人"
}

输出的结果为:

image

2)最细切分:

#分词器测试ik_max_word
POST _analyze
{
  "analyzer":"ik_max_word",
  "text":"我是中国人"
}

输出的结果为:

image

标签:ik,切分,IK,elasticsearch,分词器,ElasticSearch,分词
来源: https://www.cnblogs.com/tanghaorong/p/16299053.html