Elasticsearch 8.5.3 + IK 分词器 + Kibana 8.5.3 一键安装

Elasticsearch 8.5.3 + IK 分词器 + Kibana 8.5.3 一键安装

版本统一 :ES 8.5.3 + IK 8.5.3 + Kibana 8.5.3
特性:关闭安全认证、无密码访问、中文分词开箱即用


一、环境彻底卸载(清空所有残留)

执行以下命令,删除所有旧容器、数据、网络,无任何冲突

bash 复制代码
# 停止并删除 ES、Kibana 容器
docker rm -f elasticsearch kibana

# 清理无用数据卷(清空数据)
docker volume prune -f

# 清理无用网络
docker network prune -f

二、一键安装完整环境(复制直接运行)

bash 复制代码
# 1. 创建Docker专用网络
docker network create es-net

# 2. 启动 Elasticsearch 8.5.3
docker run -d \
  --name elasticsearch \
  --net es-net \
  -p 9200:9200 \
  -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e "xpack.security.enabled=false" \
  -e "xpack.security.http.ssl.enabled=false" \
  elasticsearch:8.5.3

# 3. 等待ES启动
sleep 25

# 4. 安装 IK 中文分词器 8.5.3
docker exec elasticsearch bin/elasticsearch-plugin install -b https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.5.3.zip

# 5. 重启ES使分词器生效
docker restart elasticsearch
sleep 25

# 6. 启动 Kibana 8.5.3
docker run -d \
  --name kibana \
  --net es-net \
  -p 5601:5601 \
  -e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" \
  kibana:8.5.3

三、安装完成访问地址

  • Elasticsearch:http://服务器IP:9200
  • Kibana控制台:http://服务器IP:5601
  • 无账号密码,直接访问

四、IK 分词器 完整测试教程

4.1 检查 IK 是否安装成功(必测)

服务器终端执行

bash 复制代码
docker exec elasticsearch bin/elasticsearch-plugin list

✅ 输出 analysis-ik = 安装成功


4.2 命令行直接测试分词(无需Kibana)

终端执行,最稳定无报错

bash 复制代码
# 细粒度分词 ik_max_word
curl -X POST -H "Content-Type: application/json" http://127.0.0.1:9200/_analyze -d '{
  "analyzer": "ik_max_word",
  "text": "我是中国人,我爱中国"
}'

# 智能分词 ik_smart
curl -X POST -H "Content-Type: application/json" http://127.0.0.1:9200/_analyze -d '{
  "analyzer": "ik_smart",
  "text": "中华人民共和国"
}'

4.3 Kibana 可视化测试(推荐)

打开 Kibana → 左侧菜单 Dev Tools → 粘贴执行

1. ik_max_word(最细粒度分词,搜索专用)
json 复制代码
POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "中华人民共和国"
}
2. ik_smart(智能粗粒度分词,展示专用)
json 复制代码
POST _analyze
{
  "analyzer": "ik_smart",
  "text": "中华人民共和国"
}
3. 长句中文分词
json 复制代码
POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "Elasticsearch 中文分词测试,我喜欢用IK分词器"
}
4. 中英文混合分词
json 复制代码
POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "iPhone 16 华为Mate70 直播带货 人工智能"
}

五、实战:创建索引 + 使用IK分词(开发必备)

5.1 创建使用IK分词的索引

json 复制代码
PUT /test_ik
{
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word"
      },
      "content": {
        "type": "text",
        "analyzer": "ik_max_word"
      }
    }
  }
}

5.2 插入测试数据

json 复制代码
POST /test_ik/_doc/1
{
  "title": "Elasticsearch中文搜索教程",
  "content": "IK分词器是最好用的中文分词工具"
}

5.3 中文搜索测试

json 复制代码
GET /test_ik/_search
{
  "query": {
    "match": {
      "content": "中文分词"
    }
  }
}

✅ 能查询到数据 = IK分词完全正常工作


六、IK 分词器核心说明

6.1 仅有的两种官方分词模式

  1. ik_max_word
    穷尽所有可能词语拆分,最细粒度,搜索必用
  2. ik_smart
    最优智能拆分,无冗余,展示/摘要用

6.2 扩展能力

  • 支持自定义词典(品牌词、专业词)
  • 支持停用词过滤(的、了、吗、呢)
  • 支持热更新词典,无需重启ES
  • 完美支持中英文、数字、符号混合分词

七、常见问题

  1. Kibana 显示 server not ready

    等待1-3分钟初始化即可,属于正常现象

  2. 测试分词报 400 错误

    必须使用 POST 请求,GET 不能携带请求体

  3. IK分词不生效

    执行 docker restart elasticsearch 重启ES即可

相关推荐
真上帝的左手1 小时前
19. 大数据-数据仓库简介
大数据·数据仓库
Volunteer Technology1 小时前
MapReduce使用与原理(一)
大数据·eclipse·mapreduce
Volunteer Technology1 小时前
MapReduce使用与原理 (二)
大数据·mapreduce
石逸凡1 小时前
新时代的信息茧房
大数据·人工智能
澈2071 小时前
Git入门指南:核心概念与实用操作
大数据·git·搜索引擎
workflower2 小时前
人工智能全球治理
大数据·人工智能·设计模式·机器人·动态规划
workflower2 小时前
AI灵活高效的智慧用能核心场景
大数据·人工智能·设计模式·机器人·动态规划
189228048612 小时前
NV301固态MT29F32T08GWLBHD6-QJES:B
大数据·服务器·人工智能·科技·缓存
海兰2 小时前
在 Grafana 中驾驭 ES|QL:Elasticsearch 管道查询实战指南
大数据·elasticsearch·grafana