美文网首页
Elasticsearch 安装部署 IK 分词器

Elasticsearch 安装部署 IK 分词器

作者: lei_charles | 来源:发表于2019-11-25 16:02 被阅读0次
    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 
        欲饮琵琶马上催
        醉卧沙场君莫笑
        古来征战几人回
        

    相关文章

      网友评论

          本文标题:Elasticsearch 安装部署 IK 分词器

          本文链接:https://www.haomeiwen.com/subject/zymewctx.html