首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >快速学习-IK分词器

快速学习-IK分词器

作者头像
cwl_java
发布2020-01-14 14:53:57
发布2020-01-14 14:53:57
1.1K0
举报
文章被收录于专栏:cwl_Javacwl_Java

4 IK分词器

4.1 测试分词器

在添加文档时会进行分词,索引中存放的就是一个一个的词(term),当你去搜索时就是拿关键字去匹配词,最终找到词关联的文档。

测试当前索引库使用的分词器:

post 发送:localhost:9200/_analyze

代码语言:javascript
复制
{
	"text": "测试分词器,后边是测试内容:spring cloud实战"
}

结果如下:

会发现分词的效果将 “测试” 这个词拆分成两个单字“测”和“试”,这是因为当前索引库使用的分词器对中文就是单字 分词。

4.2 安装IK分词器

使用IK分词器可以实现对中文分词的效果。

下载IK分词器:(Github地址:https://github.com/medcl/elasticsearch-analysis-ik)

下载zip:

解压,并将解压的文件拷贝到ES安装目录的plugins下的ik目录下

测试分词效果: 发送:post localhost:9200/_analyze

代码语言:javascript
复制
{
	"text": "测试分词器,后边是测试内容:spring cloud实战",
	"analyzer": "ik_max_word"
}

4.3 两种分词模式

ik分词器有两种分词模式:ik_max_word和ik_smart模式。

1、ik_max_word 会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、 华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。

2、ik_smart 会做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。 测试两种分词模式:

发送:post localhost:9200/_analyze

代码语言:javascript
复制
{
	"text": "中华人民共和国人民大会堂",
	"analyzer": "ik_smart"
}

4.4 自定义词库

如果要让分词器支持一些专有词语,可以自定义词库。 iK分词器自带一个main.dic的文件,此文件为词库文件。

在上边的目录中新建一个my.dic文件(注意文件格式为utf-8(不要选择utf-8 BOM)) 可以在其中自定义词汇: 比如定义: 配置文件中配置my.dic,

重启ES,测试分词效果: 发送:post localhost:9200/_analyze

代码语言:javascript
复制
{
	"text": "测试分词器,后边是测试内容:spring cloud实战",
	"analyzer": "ik_max_word"
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 4 IK分词器
    • 4.1 测试分词器
    • 4.2 安装IK分词器
    • 4.3 两种分词模式
    • 4.4 自定义词库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档