【ES系列三】——ES集成ik分词并测试
一、下载ik安装包
https://github.com/medcl/elasticsearch-analysis-ik/releases
注:一定要与ES版本保持一致(我ES用的是6.0.0所以ik也要下载6.0.0),如下图:
二、解压
1、可以通过命令:unzip 文件夹 进行解压
2、要是没有unzip命令可以通过命令:yum install unzip 进行安装
三、启动时进行加载
1、通过下面命令(ps -ef | grep elastic)查看是否启动了ES,如果启动了,则通过kill命令(kill -9 进程号)杀死
2、启动之后如果有下面内容,证明ik插件加载成功(我是通过控制台启动的,后台启动命令在后面加 -d 即可)
四、1、测试ik插件(通过head插件测试)
注:ES版本5.0.0之后的测试方式
1、新建一个索引
2、配饰内容进行测试如下图:
四、2、测试ik插件(通过dos窗口测试)
1、新建一个索引
curl -XPUT http://localhost:9200/index2
2、直接输入下面内容进行测试(注:索引是刚才建立的索引)
curl ‘http://localhost:9200/index2/_analyze?analyzer=ik_max_word&pretty=true’ -d ‘{“text”:”我是中国人”}’
五、ES2.0版本与ES5.0以后的版本对比以及注意事项
1、5.0以后移除名为 ik 的analyzer和tokenizer,请分别使用 ik_smart 和 ik_max_word(也就是5.0之前进行测试的时候需要将上面中的ik_max_word换成ik关键字)
2、ES6.0与ik6.0进行集成安装之后,只能通过head工具来进行测试,通过url进行测试的时候会报错,这是一个bug已经提交到gethub上了,希望社区管理能及时更正(亲测5.5.1版本没问题)。
3、ES5.0之后的ik_smart和ik_max_word说明
ik_max_word: 会将文本做最细粒度的拆分,比如会将“我是中国人”拆分为“我,是,中国人,中国,国人”,会穷尽各种可能的组合。
ik_smart: 会做最粗粒度的拆分,比如会将“我是中国人”拆分为“我,是,中国人”。
六、总结
这次的旅行虽然道路艰难,但是充满那么多的乐趣,的确是当真正搞懂它的时候,其实也就那么几步关键的地方,亲爱的读者们,期待小编后面的项目运用吧。
转载请注明:SuperIT » 【ES系列三】——ES集成ik分词并测试