Elasticsearch 安装部署 IK 分词器

2019-11-25  本文已影响0人  lei_charles
  1. 下载 elasticsearch-analysis-ik 安装包

    下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases

  2. 安装 IK 分词器
    1. 自动安装
      cd /opt/cloudera/parcels/ELASTICSEARCH/bin
      ./elasticsearch-plugin install -y https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.0.1/elasticsearch-analysis-ik-7.0.1.zip
      
    2. 手动安装
      cd /opt/cloudera/parcels/ELASTICSEARCH/plugins
      wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.0.1/elasticsearch-analysis-ik-7.0.1.zip
      # 等待下载完成
      mkdir analysis-ik
      unzip -d analysis-ik/ elasticsearch-analysis-ik-7.0.1.zip 
      mv analysis-ik/config/ analysis-ik/analysis-ik
      mv analysis-ik/analysis-ik/ ../config/
      rm -rf elasticsearch-analysis-ik-7.0.1.zi
      
  3. ik_max_word 和 ik_smart 两种分词模式
    1. ik_max_word 将文本做最细粒度的拆分。

      例如: ik_max_word 会将 "中华人民共和国人民大会堂" 拆分为 "中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂"等词语。

      {"text":"中华人民共和国人民大会堂","analyzer":"ik_max_word"}
      
    2. ik_smart 会做最粗粒度的拆分。

      例如: ik_smart 会将"中华人民共和国人民大会堂"拆分为"中华人民共和国、人民大会堂"。

      {"text":"中华人民共和国人民大会堂","analyzer":"ik_smart"}
      
  4. 配置自定义词库
    1. 新建自定义词库文件

      ${ELASTICSEARCH_HOME}/config/analysis-ik 目录下新建 custom/mydict.dic 文件(注意文件格式为 utf-8,不要选择utf-8 BOM),可以在 my.dic 文件 中自定义词汇。

    2. 修改配置文件 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/mydict.dic</entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <!-- <entry key="remote_ext_dict">words_location</entry> -->
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
      </properties>
      
    3. 重启 ES 服务后测试分词效果
      {"text": "葡萄美酒夜光杯,欲饮琵琶马上催。醉卧沙场君莫笑,古来征战几人回?","analyzer": "ik_smart"}
      

      自定义词库加入 葡萄美酒夜光杯 前:


      自定义词库加入 葡萄美酒夜光杯 后:
  1. 配置热更新 IK 分词
    1. 安装http服务, 创建远程扩展字典
    2. 修改配置文件 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/mydict.dic</entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <entry key="remote_ext_dict">http://192.168.1.101/analysis-ik/mydict.dic</entry>
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
      </properties>
      
    3. 重启 ES 服务后测试远程分词效果
      [root@node01 analysis-ik]# cat mydict.dic 
      欲饮琵琶马上催
      醉卧沙场君莫笑
      古来征战几人回
      
上一篇下一篇

猜你喜欢

热点阅读