1、简介
Ik分词器就是一款中文分词器。
分词:把一段文字划分成一个个关键字,我们在搜索的时候会对自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作。
默认的中文分词会将每个字看成一个词,比如“今天天气很好“会被分成 今、天、天、气、很、好,这显然是不符合要求的,可能我们需要分成 今天、天气、很好、天气很好等,所以我们需要安装Ik分词器来解决这个问题。
示例:对“今天天气很好” 进行分词
IK分词器提供了两个分词算法:ik_smart和ik_max_word
ik_smart :最少切分,添加了歧义识别功能,推荐。
ik_max_word:最细切分,能切的都会被切掉。
2、集成ik分词器
2.1 下载
下载地址:Releases · medcl/elasticsearch-analysis-ik · GitHub
注意:下载版本需与Elasticsearch版本对应。
由于之前用的elasticsearch是8.4.0,版本过高,因需求后改成了8.0.0的环境。
2.2 安装
需创建ik文件夹,将解压后的文件放在ik文件夹内。
解压 elasticsearch-analysis-ik-8.0.0.zip
最终的目录结构:
2.3 重启Elasticsearch
看下ES启动是否成功
3、使用ik分词器
3.1 ik_smart最少切分,添加了歧义识别功能
GET _analyze
{
"analyzer": "ik_smart",
"text": ["今天天气很好"]
}
3.2 ik_max_word最细切分
GET _analyze
{
"analyzer": "ik_max_word",
"text": ["今天天气很好"]
}
3.3 自定义分词效果
3.3.1 添加词典文件
3.3.2 修改配置文件IKAnalyzer.cfg.xml
重启Elasticsearch