elasticsearch安装插件

针对 Elasticsearch 9.1.3,需下载该仓库下版本为 9.1.3 的 IK 分词器 ,确保与 ES 版本完全一致。
分词器下载

一、核心匹配规则

infinilabs/analysis-ik 的版本命名严格遵循「与 Elasticsearch 版本一一对应」的原则:

  • ES 版本 → IK 分词器版本:9.1.39.1.3
  • 下载链接格式:https://github.com/infinilabs/analysis-ik/releases/download/v{ES版本}/elasticsearch-analysis-ik-{ES版本}.zip

二、在 Elasticsearch容器中安装(两种方式)

例如:elasticsearch-analysis-ik分词器下载

方式 1:在线安装(推荐,无需本地下载)
  1. 进入 ES 容器

    先通过 docker ps 查看 ES 容器的名称或 ID,再执行进入命令:

    bash 复制代码
    docker exec -it <你的ES容器ID/名称> /bin/bash

    示例:若容器 ID 为 152ebbfee746,则执行 docker exec -it 152ebbfee746 /bin/bash

  2. 执行在线安装命令

    直接使用 ES 自带的 elasticsearch-plugin 工具,从 infinilabs 仓库拉取 9.1.3 版本的 IK 分词器:

    bash 复制代码
    ./bin/elasticsearch-plugin install https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-<版本>.zip
    • 安装过程中会提示「是否信任该插件」,输入 y 确认即可。
  3. 重启 ES 容器

    安装完成后,退出容器(执行 exit),并重启容器使插件生效:

    bash 复制代码
    docker restart <你的ES容器ID/名称>
方式 2:离线安装(适用于容器无法联网的场景)
  1. 本地下载 IK 分词器包

    浏览器访问 infinilabs 的 9.1.3 版本发布页,下载压缩包:
    https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-9.1.3.zip

    下载文件名为 elasticsearch-analysis-ik-9.1.3.zip

  2. 将压缩包传入 ES 容器

    使用 docker cp 命令,将本地下载的压缩包复制到容器内的 ES 插件目录(默认插件目录为 /usr/share/elasticsearch/plugins):

    bash 复制代码
    # 格式:docker cp 本地压缩包路径 容器ID/名称:容器内目标路径
    docker cp /本地路径/elasticsearch-analysis-ik-9.1.3.zip <你的ES容器ID/名称>:/usr/share/elasticsearch/plugins/

    示例(本地文件在 ~/Downloads 目录):

    bash 复制代码
    docker cp ~/Downloads/elasticsearch-analysis-ik-9.1.3.zip 152ebbfee746:/usr/share/elasticsearch/plugins/
  3. 进入容器并解压

    再次进入容器,进入插件目录并解压压缩包:

    bash 复制代码
    # 1. 进入容器
    docker exec -it <你的ES容器ID/名称> /bin/bash
    
    # 2. 进入插件目录
    cd /usr/share/elasticsearch/plugins/
    
    # 3. 解压(若容器内无 unzip 工具,先执行 apt update && apt install -y unzip 安装)
    unzip elasticsearch-analysis-ik-9.1.3.zip
    
    # 4. 删除压缩包(可选,节省空间)
    rm -rf elasticsearch-analysis-ik-9.1.3.zip
  4. 重启 ES 容器

    退出容器后重启,确保插件加载:

    bash 复制代码
    docker restart <你的ES容器ID/名称>

三、验证安装是否成功

重启容器后,通过 Kibana Dev Tools 或 curl 测试 IK 分词器是否生效:

  1. 在 Kibana Dev Tools 执行:

    json 复制代码
    GET _analyze
    {
      "analyzer": "ik_smart",  // IK 分词器的「智能分词」模式
      "text": "在Elasticsearch 9.1.3中使用IK分词器"  // 待分词的中文文本
    }
  2. 若返回如下包含中文分词结果的响应,说明安装成功:

    json 复制代码
    {
      "tokens" : [
        {
          "token" : "在",
          "start_offset" : 0,
          "end_offset" : 1,
          "type" : "CN_CHAR",
          "position" : 0
        },
        {
          "token" : "elasticsearch",
          "start_offset" : 1,
          "end_offset" : 14,
          "type" : "ENGLISH",
          "position" : 1
        },
        {
          "token" : "9.1.3",
          "start_offset" : 15,
          "end_offset" : 19,
          "type" : "ARABIC",
          "position" : 2
        },
        {
          "token" : "中",
          "start_offset" : 19,
          "end_offset" : 20,
          "type" : "CN_CHAR",
          "position" : 3
        },
        {
          "token" : "使用",
          "start_offset" : 20,
          "end_offset" : 22,
          "type" : "CN_WORD",
          "position" : 4
        },
        {
          "token" : "ik",
          "start_offset" : 22,
          "end_offset" : 24,
          "type" : "ENGLISH",
          "position" : 5
        },
        {
          "token" : "分词器",
          "start_offset" : 24,
          "end_offset" : 27,
          "type" : "CN_WORD",
          "position" : 6
        }
      ]
    }

四、注意事项

  1. 版本必须严格一致 :若 ES 是 9.1.3,IK 分词器必须是 9.1.3,版本不匹配会导致插件加载失败(容器日志会报 version conflict 错误)。
  2. 容器权限问题 :若安装时提示「权限不足」,可在进入容器后,先执行 chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/ 赋予 ES 用户插件目录的权限。
  3. 集群环境需全节点安装 :若 ES 是集群(多容器),需在所有节点容器中重复上述安装步骤,否则集群会因节点插件不一致导致异常。
相关推荐
IvanCodes3 小时前
七、Scala 包、样例类与样例对象
大数据·开发语言·scala
Hello.Reader3 小时前
Flink Operations Playground 部署、观测、容错、升级与弹性扩缩
大数据·flink
weixin_lynhgworld4 小时前
短剧小程序系统开发:引领影视行业数字化转型浪潮
大数据·小程序
计算机毕设残哥4 小时前
【Spark+Hive+hadoop】人类健康生活方式数据分析
大数据·hive·hadoop·python·数据分析·spark·dash
货拉拉技术5 小时前
货拉拉离线大数据跨云迁移 - 数据迁移篇
大数据·云原生
MATLAB代码顾问5 小时前
Python实现星雀优化算法(Nutcracker Optimizer Algorithm, NOA) (附完整代码)
大数据·python·excel
小小王app小程序开发6 小时前
盲盒一番赏小程序用户需求分析:从行为动机到功能诉求的深度拆解
大数据
UMI赋能企业6 小时前
AI 绘画的未来趋势与发展前景
大数据·人工智能
Lx3526 小时前
Hadoop批流一体化处理:实时与离线作业融合
大数据·hadoop