ElasticSearch入门之ES配置IK分词器, IK分词器热词更新 12

1. 先安装IK分词器

每台机器都要配置。配置完成之后,需要重启ES服务

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.2/elasticsearch-analysis-ik-6.0.0.zip
    # 将ik分词器的插件,上传到/export/servers/es
    # cd /export/servers/es   
    # rz
    unzip elasticsearch-analysis-ik-6.0.0.zip -d elasticsearch-6.0.0/plugins/
    cd elasticsearch-6.0.0/plugins/
    mv elasticsearch analysis-ik
    # 三台机器都配置完成
    # 配置完成之后,需要重启服务。
    # 配置完成之后,需要重启服务。
    # 配置完成之后,需要重启服务。
    # 配置完成之后,需要重启服务。
    # 配置完成之后,需要重启服务。

2. 配置IK分词器

# 配置IK分词器
  	 PUT /iktest?pretty
    {
     
        "settings" : {
     
            "analysis" : {
     
                "analyzer" : {
     
                    "ik" : {
     
                        "tokenizer" : "ik_max_word"
                    }
                }
            }
        },
        "mappings" : {
     
            "article" : {
     
                "dynamic" : true,
                "properties" : {
     
                    "subject" : {
     
                        "type" : "text",
                        "analyzer" : "ik_max_word"
                    }
                }
            }
        }
    }

说明:ik带有两个分词器:

  • ik_max_word :会将文本做最细粒度的拆分;尽可能多的拆分出词语
    句子:我爱我的祖国
    结果: 我|爱|我|的|祖|国|祖国
  • ik_smart:会做最粗粒度的拆分;已被分出的词语将不会再次被其它词语占有
    句子:我爱我的祖国
    结果: 我|爱|我|的|祖国

3. 查看分词效果

3.1 ik_max_word

      GET _analyze?pretty
      {
     
        "analyzer": "ik_max_word",
        "text": "二十四口交换机"
      }

ElasticSearch入门之ES配置IK分词器, IK分词器热词更新 12_第1张图片

3.2 ik_smart

     GET _analyze?pretty
      {
     
        "analyzer": "ik_smart",
        "text": "二十四口交换机"
      }

ElasticSearch入门之ES配置IK分词器, IK分词器热词更新 12_第2张图片

7.4 插入测试数据

    POST /iktest/article/_bulk?pretty
    {
      "index" : {
      "_id" : "1" } }
    {
     "subject" : ""闺蜜"崔顺实被韩检方传唤 韩总统府促彻查真相" }
    {
      "index" : {
      "_id" : "2" } }
    {
     "subject" : "韩举行"护国训练" 青瓦台:决不许国家安全出问题" }
    {
      "index" : {
      "_id" : "3" } }
    {
     "subject" : "媒体称FBI已经取得搜查令 检视希拉里电邮" }
    {
      "index" : {
      "_id" : "4" } }
    {
     "subject" : "村上春树获安徒生奖 演讲中谈及欧洲排外问题" }
    {
      "index" : {
      "_id" : "5" } }
    {
     "subject" : "希拉里团队炮轰FBI 参院民主党领袖批其”违法”" }

对"希拉里和韩国"进行分词查询
ik_max_word分词后的效果:希|拉|里|希拉里|和|韩国

    POST /iktest/article/_search?pretty
    {
     
        "query" : {
      "match" : {
      "subject" : "希拉里和韩国" }},
        "highlight" : {
     
            "pre_tags" : [""],
            "post_tags" : [""],
            "fields" : {
     
                "subject" : {
     }
            }
        }
    }

5 热词更新

5.1 配置Tomcat

ElasticSearch入门之ES配置IK分词器, IK分词器热词更新 12_第3张图片

    #下载tomcat
    wget http://124.205.69.169/files/60480000070D3D35/mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz
    # 解压目录
    mv apache-tomcat-8.5.34 /export/servers/tomcat4es/
    cd /export/servers/tomcat4es/webapps/ROOT/
    # 新建文件
    vi hot.dic 
    --
    啊策策名字叫国策
    --
    # 启动tomcat
    /export/servers/tomcat4es/bin/startup.sh 
    # 检查是否可以访问 wget http://node03:8080/hot.dic

5.2 修改IK分词器的配置文件

    cd /export/servers/es/elasticsearch-6.0.0/plugins/analysis-ik/config
    vi IKAnalyzer.cfg.xml 
    ---
    <entry key="remote_ext_dict">http://192.168.140.133:8080/hot.dic</entry>

7.5.3 修改JDK权限

    #修改JDK安全设置
    vi /export/servers/jdk/jre/lib/security/java.policy 
    permission java.net.SocketPermission "192.168.140.138:8080","accept";
    permission java.net.SocketPermission "192.168.140.138:8080","listen";
    permission java.net.SocketPermission "192.168.140.138:8080","resolve";
    permission java.net.SocketPermission "192.168.140.138:8080","connect";

5.4 前台启动ES并观察

ElasticSearch入门之ES配置IK分词器, IK分词器热词更新 12_第4张图片

你可能感兴趣的:(ELK(ES,LogStash,KiBana),es中IK分词器热词更新)