一、业务场景
在利用ik分词的过程中,当ik的分词规则不满足我们的需求了,这个时候就可以利用ik的自定义词库进行筛选,举个例子:当我要将“我是中国人,我想测试一下”这句话通过分词,将“我想测试一下”分为一个词的时候,就需要利用ik的自定义词库进行灌入指定的词。
二、新建词库
1.到elasticsearch/plugins中寻找ik插件所在的目录
2.在ik中的config文件中添加词库
vimmydic.dic
输入你定义的词,例如:我想测试一下 (注:一行输入一个词)
:wq!保存命令
3.检查新建词库内容(注意内容中的编码格式)
catmydic.dic
三、修改ik配置
修改config中的IKAnalyzer.cfg.xml文件(注:词库的位置根据该配置文件的位置来决定所写的路径,一般放在平级目录或者下一级目录下)
vimIKAnalyzer.cfg.xml
:wq!保存命令
四、重启es
1.修改为子账户(具体看:ES安装步骤七):
例如:su es
2.查看es进程号
ps aux|grep elastic
3.杀死es进程
Kill -9 29223
4.启动es
sh elasticsearch -d
五、测试
浏览器测试(其它测试请查看ik安装步骤四):
http://ip:9200/knowledge/_analyze?analyzer=ik_smart&pretty=true&textt=”我想测试一下”
注:knowledge为建立的索引名称,ik_smart为粗粒度分词(分词粒度具体查看ik安装步骤五)