IK分词器安装

网友投稿 265 2022-11-01

IK分词器安装

ES 的默认分词设置的是 ​​standard​​,会单字拆分进行拆分。

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

概述

​​IKAnalyzer​​​ 是一个开源的,基于 ​​Java​​ 语言开发的轻量级的中文分词工具包。

下载 Ik 分词器

下载地址:​​两种分词模式

​​ik_max_word​​​:会将文本做​​最细粒度​​ 的拆分。​​ik_smart​​​:会做​​最粗粒度​​ 的拆分。

配置 IK

将下载好的 zip 上传到 linux 当中,上传到之前新建的 plugins 目录当中,上传之前首先新建一个 ik 的文件夹然后上传到新建的 ik 文件夹当中:

mkdir ik

上传完毕之后利用 ​​unzip​​ 进行解压:

unzip elasticsearch-analysis-ik-7.16.2.zip

之后在重启 es 与 kibana 然后在 devTools 当中进行使用 ik 的 ik_max_word 进行查询效果如下:

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

扩展词与停用词

扩展词

就是不想让哪些词被分开,让他们分成一个词。

停用词

有些词在文本中出现的频率非常高。但对本文的语义产生不了多大的影响。例如英文的 a、an、the、of 等。或中文的 ”的、了、呢等”。这样的词称为停用词。

设置扩展词或停用词

进入到 ​​config​​ 目录创建扩展词与停用词文件。

扩展词:

vim my_ext_dict.dic

假如如上的词它不是一个词,而我们又需要它是一个具体的词那么就可以像如上一样,添加到扩展词当中即可。

停用词:

vim my_stop_dict.dic

将自定义的扩展词典文件添加到 ​​IKAnalyzer.cfg.xml​​ 配置中。

重启 es 与 kibana 然后进行查询结果如下:

POST _analyze{ "analyzer": "ik_max_word", "text": "我是aaa啊啊啊唐"}

POST _analyze{ "analyzer": "ik_max_word", "text": "我是中国人啊了呢"}

设置 IK 分词器作为默认分词器

PUT /my_index{ "settings": { "index" :{ "analysis.analyzer.default.type": "ik_max_word" } }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:达人专栏 | 还不会用 Apache Dolphinscheduler?大佬用时一个月写出的最全入门教程【三】
下一篇:TYPE C母座引脚接口分析及优势特点的介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~