• ik 分词器


    ik 分词器

    什么是IK分词器 ?

    分词:即把一-段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如“我爱中国”会被分为"我"、“爱”、“中”、“国”,这显然是不符合要求的,所以我们需要安装中文分词器 ik 来解决这个问题。

    如果要使用中文,建议使用ik分词器!

    IK提供了两个分词算法: ik_ smart 和 ik_ max_ word ,其中ik_ smart为最少切分, ik_ max_ _word为最细粒度划分!

     

    ik 下载

    ik分词器下载:https://github.com/medcl/elasticsearch-analysis-ik

    注意:版本和Elasticsearch一致


    不要下载错了(我测试的时候下载错了>_<,路径:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.9.2

    {下载没有打包的项目,需要你打包, 通过命令行进入ik分词pom所在目录下,依次输入 mvn clean、mvn compile、mvn package 命令,(可能会出现一些环境依赖的问题,具体看个人电脑)}

     

    ik 使用

    解压放置 Elasticsearch 的插件中

     

    重启 elasticsearch ,可以看到 ik 分词器被加载了。

     

    可以通过 elasticsearch-plugin list 这个命令来加载进来的插件

     

    ik 测试

    IK 提供了两个分词算法:ik_ smart 和 ik_ max_ word ,其中ik_ smart为最少切分,ik_ max_ _word为最细粒度划分!

    如果使用中文:推荐IK分词器

    两个分词算法:ik_smart(最少切分),ik_max_word(最细粒度划分)

    ik_smart 最少切分(博客中不允许出现那几个字,所以处理了一下)

    GET _analyze
    {
      "analyzer": "ik_smart",
      "text": "中国¥¥¥"
    }

     

    ik_max_word 最细粒度划分(博客中不允许出现那几个字,所以处理了一下)

    GET _analyze
    {
      "analyzer": "ik_max_word ",
      "text": "中国¥¥¥"
    }

    总结: ik_max_word 最细粒度划分!穷尽词库的可能!字典!

     

    ik 词典自定义配置

    为什么需要修改 ik 词典配置?

    举例:

      业务需要将 ”我要洗澡皮肤好好“ 这个词必须分为 {”我要洗澡“、”皮肤好好“} 的结果

    默认的分词:

      并不是我们需要的结果,所以需要创建自己的词典

    发现的问题:当这种自己(或者业务)需要的词,需要自己加到我们的分词器的字典中!(my.dic 文件需要自己创建)

     

    重启 elasticsearch,再次分词

    总结:需要自己配置的分词,就在自己定义的dic文件中进行配置即可!

  • 相关阅读:
    绿茶一杯辨蜂蜜
    将Windows桌面扩展到第二个显示器/投影机上
    各种茶的特点和挑选(未完)
    转载一位操盘手的惊人语录 
    大家看看这个资料,有助于你了解股市
    庄家的故事之000503海虹控股
    股本变迁,分红扩股数据调查
    onchange 和 onkeyup,onpropertychange 用法小记
    对范美忠事件的评论
    一位天涯的朋友在星期一晚上发来的留言
  • 原文地址:https://www.cnblogs.com/mmdz/p/15469197.html
Copyright © 2020-2023  润新知