当前位置 : 主页 > 网络推广 > seo >

【ES系列三】——ES集成ik分词并测试

来源:互联网 收集:自由互联 发布时间:2021-06-16
一、下载ik安装包 https://github.com/medcl/elasticsearch-analysis-ik/releases 注:一定要与ES版本保持一致(我ES用的是6.0.0所以ik也要下载6.0.0),如下图: 二、解压 1、可以通过命令:unzip 文件夹 进行

一、下载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  进行安装
    3、解压后的结构如下图(需要放到elasticsearch安装目录的plugins文件夹下进行解压):

三、启动时进行加载

    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: 会做最粗粒度的拆分,比如会将“我是中国人”拆分为“我,是,中国人”。

六、总结

    这次的旅行虽然道路艰难,但是充满那么多的乐趣,的确是当真正搞懂它的时候,其实也就那么几步关键的地方,亲爱的读者们,期待小编后面的项目运用吧。
网友评论