zoukankan      html  css  js  c++  java
  • Elastic Stack:es ik分词器

    一.安装插件包

    elasticsearch-analysis-ik-7.7.1.zip

    链接:https://pan.baidu.com/s/1HXiQ5vEYU1cSMt6dhUhxoQ
    提取码:uzcv
    在es的plugins目录下新建一个ik文件夹,把压缩包放入ik中

    目录结构是这样的:

    /opt/elasticsearch-7.7.1/plugins/ik 

     解压zip包:

    安装支持ZIP的工具

    yum install -y unzip zip
    

     安装完成后:

    直接解压:

    unzip elasticsearch-analysis-ik-7.7.1.zip
    

     然后删除

    rm -rf elasticsearch-analysis-ik-7.7.1.zip
    

     完成后,重启es服务即可。

    二.ik的基本使用

    ik_max_word: 会将文本做最细粒度的拆分

    ik_smart: 会做最粗粒度的拆分

    GET /_analyze
    {
      "analyzer": "ik_smart",
      "text": "我是中国人"
    }
    

     

    GET /_analyze
    {
      "analyzer": "ik_max_word",
      "text": "我是中国人"
    }
    

     存储时,使用ik_max_word,搜索时,使用ik_smart

    PUT /my_index 
    {
      "mappings": {
          "properties": {
            "text": {
              "type": "text",
              "analyzer": "ik_max_word",
              "search_analyzer": "ik_smart"
            }
          }
      }
    }
    

     三.ik相关配置  

    es/plugins/ik/config
    

     相关文件介绍:

    IKAnalyzer.cfg.xml:用来配置自定义词库
    
    main.dic:ik原生内置的中文词库,总共有27万多条,只要是这些单词,都会被分在一起
    
    preposition.dic: 介词
    
    quantifier.dic:放了一些单位相关的词,量词
    
    suffix.dic:放了一些后缀
    
    surname.dic:中国的姓氏
    
    stopword.dic:英文停用词
    

     自定义词库:

    (1)自己建立词库:每年都会涌现一些特殊的流行词,网红,蓝瘦香菇,喊麦,鬼畜,一般不会在ik的原生词典里

             自己补充自己的最新的词语,到ik的词库里面

             IKAnalyzer.cfg.xml:ext_dict,创建mydict.dic。

             补充自己的词语,然后需要重启es,才能生效

    (2)自己建立停用词库:比如了,的,啥,么,我们可能并不想去建立索引,让人家搜索

             custom/ext_stopword.dic,已经有了常用的中文停用词,可以补充自己的停用词,然后重启es

  • 相关阅读:
    如何用最小的代价完成爬虫需求
    那些年我们一起守护的“密”
    自动化中间人攻击工具subterfuge小实验
    XP操作系统设置:[82]关机快捷键
    如何绕过Win8、Win10的systemsetting与注册表校验设置默认浏览器
    定时启动和关闭指定程序的方法
    Delphi 的内存操作函数(2): 给数组指针分配内存
    Delphi 的内存操作函数(1): 给字符指针分配内存
    Java Gearman Service
    分布式计算框架Gearman原理详解
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/13084527.html
Copyright © 2011-2022 走看看