Elasticsearch 8.11 + IK 分词器安装踩坑记录

前言

最近在做视频搜索功能,需要在 Windows 环境下搭建 Elasticsearch 环境。本以为是个简单的任务,结果踩了一堆坑,记录一下供后人参考。

环境信息

  • 操作系统: Windows 11

  • ES 版本: 8.11.0

  • IK 分词器版本: 8.11.0

  • JDK: ES 自带

踩坑过程

坑 1:路径空格问题

问题 : 把 ES 解压到 D:\Program Files (x86)\ 目录下,启动时各种报错。

原因: 路径中包含空格和括号,IK 分词器无法正确读取配置文件。

解决 : 把 ES 移到无空格路径,如 D:\elasticsearch-8.11.0

坑 2:安全认证配置

问题: ES 8.x 默认开启安全认证,启动后无法直接访问。

解决 : 修改 config/elasticsearch.yml

复制代码
# 关闭安全认证
discovery.type: single-node
xpack.security.enabled: false

注意: 同时需要注释掉 SSL 相关配置,否则还会报错。

坑 3:IK 分词器安装

问题 : 手动解压 IK 插件到 plugins 目录,启动报错缺少 plugin-descriptor.properties

原因: 下载的文件不对,或者解压方式错误。

正确安装方式:

复制代码
# 在线安装(推荐)
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.11.0/elasticsearch-analysis-ik-8.11.0.zip

# 或手动安装:下载 zip 后解压到 plugins/ik/ 目录

坑 4:配置重复问题

问题 : 修改配置时不小心添加了重复的字段,如 http.host 出现两次。

解决 : 仔细检查 elasticsearch.yml,确保没有重复配置项。

坑 5:keystore 残留

问题: 之前配置过 SSL,关闭安全认证后仍然报错找不到密码。

解决 : 删除 config/elasticsearch.keystore 文件,重启 ES。

最终配置

复制代码
# ======================== Elasticsearch Configuration =========================

# 单机模式
discovery.type: single-node

# 关闭安全认证
xpack.security.enabled: false

# 允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

# 绑定地址
http.host: 0.0.0.0

# 注释掉以下配置(如果存在)
# xpack.security.enrollment.enabled: true
# xpack.security.http.ssl.enabled: true
# xpack.security.transport.ssl.enabled: true
# cluster.initial_master_nodes: ["xxx"]

验证安装

启动 ES 后访问:

复制代码
curl http://localhost:9200

返回 JSON 说明成功。

验证 IK 分词器:

复制代码
# 创建索引时使用 ik_max_word 分词器
PUT /test
{
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "ik_max_word"
      }
    }
  }
}

# 测试分词
POST /test/_analyze
{
  "analyzer": "ik_max_word",
  "text": "中华人民共和国"
}

总结

  1. 路径不要有中文、空格、特殊字符

  2. IK 分词器版本必须和 ES 版本匹配

  3. 修改配置时仔细检查,避免重复

  4. 有问题先看日志,一般在 logs/elasticsearch.log

参考


如果这篇文章帮到你,请点个赞 👍

相关推荐
Hardworking66618 小时前
第7章 软硬件系统集成
数据库·软硬件系统集成
名字还没想好☜18 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
熊猫钓鱼>_>18 小时前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
wenb1n19 小时前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言
EasyDSS19 小时前
企业数字化培训升级!企业级融媒体平台EasyDSS破解跨区域内训难题,高效沉淀知识资产
大数据·媒体
leoZ23119 小时前
Git 集成实战完全指南(四):Git 冲突解决
大数据·git·elasticsearch
xlrqx19 小时前
家电清洗培训课程类别、培训方式及费用情况究竟有哪些
大数据·python
段一凡-华北理工大学19 小时前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
码上上班20 小时前
Elasticsearch课程
大数据·elasticsearch·搜索引擎
ClouGence20 小时前
CloudDM 数据库管理平台,全新 UI,更清晰、更高效!
数据库·开源