版本: ik-3.0
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.3.0
安装方式:
安装方式一:
在elasticsearch的bin目录下执行以下命令,es插件管理器会自动帮我们安装。安装完成后,重启Elasticsearch 和Kibana
/usr/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.0/elasticsearch-analysis-ik-7.3.0.zip安装方式二:在 elasticsearch 安装目录的 plugins 目录下新建 analysis -ik,在目录下上传安装包解压,重启Elasticsearch 和 Kibana# 新建 analysis-ik 文件夹mkdir analysis-ik# 切换至 analysis-ik 文件夹下cd analysis-ik# 上传资料中的 elasticsearch-analysis-ik-7.3.0.zip# 解压unzip elasticsearch-analysis-ik-7.3.3.zip# 解压完成后删除 ziprm -rf elasticsearch-analysis-ik-7.3.0.zip
IK分词器有两种分词模式:ik_max_word和ik_smart。 ik_max_word粒度更细,经常使用。
如:南京市长江大桥 拆分结果:南京,南京市,市长,长江,大桥,长江大桥。 如果用id_smart只能分为: 南京市, 长江大桥
扩展词典: 有些词分不出来,比如一个人名 江大桥,我们可以使用。
- 进入到 confifig/analysis-ik/(插件命令安装方式) 或 plugins/analysis-ik/confifig(安装包安装方式) 目录 下, 新增自定义词典
- 创建自定义文本:vim lagou_ext_dict.dic , 输入内容:江大桥
- 配置到分词配置文件中(红色部分):vim IKAnalyzer.cfg.xml
停用词典:也可能有些词出现频率高,但是没什么意义,如:的,呢,了… 我们希望它不被索引,以提升索引速度
- 操作同扩展词典,图中绿色部分
同义词典:比如输入西红柿,也能把番茄搜出来。那么,我需要把西红柿和番茄定义为同义词
Elasticsearch 自带一个名为 synonym 的同义词 filter 。为了能让 IK 和 synonym 同时工作,我们需要定义新的分词器analyzer ,用 IK 做 analyzer, synonym 做 filter 。
- 创建/config/analysis-ik/synonym.txt 文件,输入一些同义词并存为 utf-8 格式。例如:china,中国
- 创建index时,指定synonym和analyzer
3.往index添加数据
那么,我如果根据china 做搜索,效果和 中国 是一样的
创建索引: PUT /lagou-company-index
查看索引: GET /lagou-company-index
批量查看: GET /lagou-company-index,lagou-employee-index