当前位置: 首页 > news >正文

安装 Elasticsearch IK 分词器

安装 Elasticsearch IK 分词器(手动 .zip/.zip 安装)

IK 分词器(IK Analysis)是 Elasticsearch 最常用的中文分词插件,支持 细粒度分词(ik_max_word)智能切分(ik_smart)。以下是详细安装步骤:


1. 下载 IK 分词器

方式 1:直接下载预编译版本(推荐)

访问 IK Releases,选择 与 Elasticsearch 版本匹配 的插件包,例如:

# 示例:ES 8.13.0 对应的 IK 版本
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.13.0/elasticsearch-analysis-ik-8.13.0.zip

方式 2:源码编译(适用于自定义词典)

git clone https://github.com/medcl/elasticsearch-analysis-ik.git
cd elasticsearch-analysis-ik
git checkout v8.13.0  # 切换到对应版本分支
mvn clean package     # 编译(需 Maven 和 JDK)

编译后,在 target/releases/ 目录下生成 .zip 文件。


2. 安装 IK 插件到 Elasticsearch

(1)创建插件目录

cd /usr/local/elasticsearch/plugins
sudo mkdir ik
sudo unzip elasticsearch-analysis-ik-8.13.0.zip -d ik/
sudo chown -R elasticsearch:elasticsearch ik/  # 确保权限正确

(2)验证安装

# 查看已安装插件
/usr/local/elasticsearch/bin/elasticsearch-plugin list

输出应包含:

analysis-ik

3. 重启 Elasticsearch

# 如果使用 systemd
sudo systemctl restart elasticsearch# 如果手动运行
ps -ef | grep elasticsearch  # 找到进程 ID
kill -9 <PID>               # 停止
/usr/local/elasticsearch/bin/elasticsearch -d  # 后台启动

4. 测试 IK 分词器

(1)创建测试索引

curl -XPUT "http://localhost:9200/ik_test" -H "Content-Type: application/json" -d'
{"settings": {"analysis": {"analyzer": {"ik_analyzer": {"type": "custom","tokenizer": "ik_max_word"}}}}
}'

(2)测试分词效果

curl -XGET "http://localhost:9200/ik_test/_analyze" -H "Content-Type: application/json" -d'
{"analyzer": "ik_max_word","text": "中华人民共和国"
}'

正常输出:

{"tokens": [{"token": "中华人民共和国", "start_offset": 0, "end_offset": 7, "type": "CN_WORD", "position": 0},{"token": "中华", "start_offset": 0, "end_offset": 2, "type": "CN_WORD", "position": 1},{"token": "华人", "start_offset": 1, "end_offset": 3, "type": "CN_WORD", "position": 2},{"token": "人民", "start_offset": 2, "end_offset": 4, "type": "CN_WORD", "position": 3},{"token": "共和国", "start_offset": 4, "end_offset": 7, "type": "CN_WORD", "position": 4}]
}

5. 扩展配置(可选)

(1)自定义词典

  1. plugins/ik/config/ 下创建 custom.dic 文件,每行一个词:
    区块链
    深度学习
    
  2. 修改 IKAnalyzer.cfg.xml
    <entry key="ext_dict">custom.dic</entry>
    

(2)热更新词典(无需重启)

curl -XPOST "http://localhost:9200/ik_test/_close"
curl -XPOST "http://localhost:9200/ik_test/_open"

6. 常见问题

(1)版本不匹配

  • 错误:Failed to load plugin [analysis-ik] due to version mismatch
  • 解决:下载与 Elasticsearch 完全一致 的 IK 版本。

(2)权限问题

  • 错误:Permission denied
  • 解决:
    sudo chown -R elasticsearch:elasticsearch /usr/local/elasticsearch/plugins/ik/
    

(3)分词不生效

  • 检查索引是否使用了正确的分词器:
    {"mappings": {"properties": {"content": {"type": "text","analyzer": "ik_max_word"}}}
    }
    

总结

步骤命令/操作
1. 下载 IKwget https://github.com/.../elasticsearch-analysis-ik-8.13.0.zip
2. 解压到插件目录unzip -d /usr/local/elasticsearch/plugins/ik/
3. 重启 ESsystemctl restart elasticsearch
4. 测试分词curl -XGET "http://localhost:9200/_analyze" -d'{"text":"测试文本"}'

完成! 现在你的 Elasticsearch 已支持中文分词。

http://www.lryc.cn/news/582182.html

相关文章:

  • Coco AI 实战(一):Coco Server Linux 平台部署
  • 前端技术博客汇总文档
  • 万物智联时代启航:鸿蒙OS重塑全场景开发新生态
  • 【读代码】深度解析TEN VAD:实时语音活动检测的高性能开源解决方案
  • 一份激光雷达农业数据的分析
  • 【Linux | 网络】网络编程套接字
  • [netty5: LifecycleTracer ResourceSupport]-源码分析
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ContentPlaceholder(背景占位)
  • 什么是Web3?金融解决方案
  • 康布雷时刻:AI革命中的领导力觉醒与组织重构
  • uniapp下拉刷新+分页组件(z-paging 组件)
  • 2. 你可以说一下 http 版本的发展过程吗
  • 选择排序算法详解(含Python实现)
  • CentOS-7-x86_64解决:使用NAT模式无法ping通www.baidu.com或无法ping 8.8.8.8问题。
  • 阿里arthas(阿尔萨斯)简介
  • 安卓10.0系统修改定制化____recovery-from-boot.p文件的具体作用 在定制项目中的关联
  • v-for的用法及案例
  • 股票筹码分布及其数据获取
  • Swift 解 LeetCode 320:一行单词有多少种缩写可能?用回溯找全解
  • 深入解析TCP:可靠传输的核心机制与实现逻辑(三次握手、四次挥手、流量控制、滑动窗口、拥塞控制、慢启动、延时应答、面向字节流、粘包问题)
  • 沉浸式视频的未来:MV-HEVC与3D-HEVC技术深度解析
  • 【STM32】const 变量存储学习笔记
  • 6,Receiving Messages:@KafkaListener Annotation
  • 【网络】Linux 内核优化实战 - net.ipv4.ip_local_port_range
  • 【方案】前端UI布局的绝技,响应式布局,多端适配
  • 医疗AI底层能力全链条工程方案:从技术突破到临床落地
  • 如何排查服务器中已经存在的后门程序?
  • Java基础--封装+static
  • 软件工程功能点估算基础
  • 软件工程功能点估算法常用术语介绍