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 是集群(多容器),需在所有节点容器中重复上述安装步骤,否则集群会因节点插件不一致导致异常。
相关推荐
一缕猫毛17 小时前
Flink demo代码
java·大数据·flink
Hello.Reader17 小时前
Flink ML 基本概念Table API、Stage、Pipeline 与 Graph
大数据·python·flink
pale_moonlight17 小时前
十一、Flink基础环境实战
大数据·flink
beijingliushao17 小时前
103-Spark之Standalone环境测试
大数据·ajax·spark
西格电力科技17 小时前
光伏四可“可观”功能:光伏电站全景数字化的底层支撑技术
大数据·人工智能·架构·能源
TDengine (老段)17 小时前
从关系型数据库到时序数据库的思维转变
大数据·数据库·mysql·时序数据库·tdengine·涛思数据·非关系型数据库
木风小助理17 小时前
Flink CDC:构建实时数据入湖架构的核心引擎
大数据·架构·flink
管理大亨18 小时前
ELK + Redis Docker 企业级部署落地方案
大数据·运维·elk·elasticsearch·docker·jenkins
星川皆无恙18 小时前
基于知识图谱+深度学习的大数据NLP医疗知识问答可视化系统(全网最详细讲解及源码/建议收藏)
大数据·人工智能·python·深度学习·自然语言处理·知识图谱
PM老周18 小时前
DORA2025:如何用AI提升研发效能(以 ONES MCP Server 为例)
大数据·人工智能