博客详情

elasticsearch5使用ik自定义分词 (原创)

作者: 朝如青丝暮成雪
发布时间:2018-04-30 17:56:35  文章分类:elasticsearch   阅读(1305)  评论(0)

elasticsearch中默认分词为standard分词,根本无法满足中文分词的需要,需要另行安装中文分词插件。 

安装ik分词器过程。。

 ik分词插件  https://github.com/medcl/elasticsearch-analysis-ik/  (github地址)


一、下载安装ik分词

   

cd  /usr/local/elasticsearch 


./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.3/elasticsearch-analysis-ik-6.2.3.zip
可将v6.2.3 替换为你所使用的elasticsearch版本。



二、重启es 

     ps -ef | grep  elasticsearch   

     kill -9  {pid}

     ./bin/elasticsearch  -d

     看下ik的分词效果 ,"中华人民共和国"能被准确的分为 "中华人民共和国" 、 "中华人民"、"中华"、"华人" 、"人民共和国" 等

     

 

"屌丝公寓" 中屌丝被分为了两词 ,这种网络流行词汇ik无法准确的切分出,如确需分出就需要我们来自定义词库了 。



三、扩展自定义词库 

     删除 elasticsarch/config/目录下的analysis-ik  ,在elasticsearch/plugins/analysis-ik/ 中 创建config目录,再在这个config目录中新建IKAnalyzer.cfg.xml 配置文件。

     cd  elasticsearch/plugins/analysis-ik/

     mkdir  config 

     cd config   

     vi   IKAnalyzer.cfg.xml  内容为下

    

<?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
   <properties>
       <comment>IK Analyzer 扩展配置</comment>
       <!--用户可以在这里配置自己的扩展字典 -->
       <entry key="ext_dict">custom/my.dic</entry>
        <!--用户可以在这里配置自己的扩展停止词字典-->
      <entry key="ext_stopwords"></entry>
       <!--用户可以在这里配置远程扩展字典 -->
      <!-- <entry key="remote_ext_dict">words_location</entry> -->
      <!--用户可以在这里配置远程扩展停止词字典-->
      <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
  </properties>


   

    其中 custom/my.dic 是我们后面需要新建的自定义词库文件 (每行配置一个词汇)

    mkdir custom 

   vi my.dic   随便加入写东西,如一些网络流行词汇,

    屌丝

    卖萌

   :x 保存 

   完了后,我们再次重启es, 再看下效果。

    


   ok,  屌丝  、卖萌 都能够准确地分出了,说明我们的自定义词库已生效。。。

  



关键字:  elasticsearch  java
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号