• ElasticSearch IK 分词器快速上手


    简介: ElasticSearch IK 分词器快速上手

    一、安装 IK 分词器

    1.分配伪终端

    我的 ElasticSearch 是使用 Docker 安装的,所以先给容器分配一个伪终端.之后就可以像登录服务器一样直接操作docker 中的内容了
    docker exec -it 容器ID /bin/bash

    2.使用 elasticsearch-plugin 安装插件

    cd plugins进入到 plugins 文件夹
    执行如下命令,7.12.0 需要修改成你的 es 版本号

    ../bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip

    3.重启 elasticsearch 容器

    docker restart 容器ID

    4.常见问题

    (1)java.lang.IllegalStateException

    执行elasticsearch-plugin install的时候,出现了 Failed installingjava.lang.IllegalStateException

    截屏2021-04-25 下午12.12.54.png

    查看了一下,我的 plugins/ 目录下已经有一个名为 ik 的文件夹了.

    抱着试试的心态,删掉了这个名为 ik 的文件夹,重新执行

    ../bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip

    安装成功

    二、ik 分词原理

    (占位,等有时间读源码再来补充)

    三、ik_smart 和 ik_max_word

    GET _analyze?pretty
    {
      "analyzer": "ik_smart",
      "text": "不像我,只会心疼鸽鸽"
    }

    截屏2021-06-11 下午4.39.37.png

    GET _analyze?pretty
    {
      "analyzer": "ik_max_word",
      "text": "不像我,只会心疼鸽鸽"
    }

    截屏2021-06-11 下午4.39.22.png

    结论
    • _analyzer构建索引时候的分词,索引的时候使用 max_word
    • search_analyzer搜索时的分词,查询的时候使用 smart

    原文链接
    本文为阿里云原创内容,未经允许不得转载。 

  • 相关阅读:
    JVM理解
    ubuntu下Android反编译详细教程-apktool,dex2jar,jd-gui的使用
    Add Two Numbers
    Two Sum
    JS实现总价随数量变化而变化(顾客购买商品表单)
    族谱管理系统(孩子兄弟存储结构)
    Java登录界面的实现(注册、登录、背景图片)
    Java GUI记账本(基于Mysql&&文件存储两种版本)
    几种对栈操作的方法
    Java中的成员内部类
  • 原文地址:https://www.cnblogs.com/yunqishequ/p/15215784.html
Copyright © 2020-2023  润新知