Elasticsearch IK 分词器自定义词典——扩展词、停用词、热更新、同义词
IK 分词器默认的词库是通用的但每个项目都有自己的专有名词——小红书里显眼包“多巴胺穿搭”电商里充氮气独立包装——这些词 IK 默认会把它们切成一堆碎词搜索体验很差。这篇文章覆盖 IK 分词器的四种自定义配置扩展词词典让 IK 认识你的专有名词、停用词词典过滤掉无意义的词、MySQL 热更新词典改词库不用重启 ES、同义词词典搜笔记本也召回笔记本电脑。为什么默认词库不够用默认分词多巴胺穿搭 → [多巴胺, 穿搭] ← 能分出来 显眼包 → [显, 眼, 包] ← 拆碎了搜显眼包召回不准 充氮气独立包装 → [充, 氮气, 独立, 包装] ← 充氮气应该是一个词专有名词被拆碎了之后倒排索引里没有完整的 term搜显眼包召回不到。需要让 IK 知道显眼包’是一个完整的词别拆。找到 IK 配置目录Docker 部署的 ESIK 配置路径在/usr/share/elasticsearch/plugins/ik/config/ ├── IKAnalyzer.cfg.xml ← 主配置文件所有词典入口 ├── main.dic ← IK 自带扩展词库 ├── stopword.dic ← IK 自带停用词库 └── ...拼音、繁体等可选模块建议把目录挂出来方便改dockerrun-d\--namees\-p9200:9200\-v./es-plugins/ik:/usr/share/elasticsearch/plugins/ik\elasticsearch:8.15.0改完重启容器生效。下面所有的.dic文件都放在这个config/目录下和IKAnalyzer.cfg.xml同级。完整配置一览先把IKAnalyzer.cfg.xml的最终形态放这里——四种词典的入口都在这一处。后面每个小节分别讲对应文件怎么写。?xml version1.0 encodingUTF-8?!DOCTYPEpropertiesSYSTEMhttp://java.sun.com/dtd/properties.dtdpropertiescommentIK Analyzer 扩展配置/comment!-- 扩展词词典本地文件改完重启 ES --entrykeyext_dictmy_ext.dic/entry!-- 停用词词典本地文件改完重启 ES --entrykeyext_stopwordsmy_stop.dic/entry!-- 扩展词热更新MySQL不重启 --entrykeyremote_ext_dictjdbc:mysql://host.docker.internal:3306/ik?useSSLfalseamp;serverTimezoneAsia/Shanghai/entryentrykeyremote_ext_dict_tableik_ext_dict/entryentrykeyremote_ext_dict_columnword/entry!-- 停用词热更新MySQL不重启 --entrykeyremote_ext_stopwordsjdbc:mysql://host.docker.internal:3306/ik?useSSLfalseamp;serverTimezoneAsia/Shanghai/entryentrykeyremote_ext_stopwords_tableik_stop_dict/entryentrykeyremote_ext_stopwords_columnword/entry!-- 统一刷新间隔秒 --entrykeyremote_ext_dict_interval60/entry/propertiesentry干什么更新方式ext_dict扩展词专有名词改.dic文件 → 重启 ESext_stopwords停用词无意义词改.dic文件 → 重启 ESremote_ext_dict扩展词热更新改 MySQL → 等 60s 自动生效remote_ext_stopwords停用词热更新改 MySQL → 等 60s 自动生效remote_ext_dict_interval刷新间隔默认 60 秒1 扩展词词典——让 IK 认识你的专有名词在config/下新建my_ext.dic一行一个词# my_ext.dic 显眼包 多巴胺穿搭 充氮气 程一口 独立包装重启 ES 后验证curl-XPOSThttp://localhost:9200/_analyze\-HContent-Type: application/json\-d{ analyzer: ik_max_word, text: 充氮气独立包装 }# 返回[充氮气, 独立, 包装]# 充氮气 被保留成完整词了 ✅2 停用词词典——过滤掉无意义的词在config/下新建my_stop.dic# my_stop.dic 的 了 是 在 和 也 就 都 吗 呢 吧重启 ES 后验证curl-XPOSThttp://localhost:9200/_analyze\-HContent-Type: application/json\-d{ analyzer: ik_max_word, text: 今天天气太热了 }# 了 被过滤掉了 ✅3 MySQL 热更新——改词库不用重启 ES重启一次几分钟词库经常变的话吃不消。IK 1.10.0 支持 MySQL 热更新启动时加载之后每隔 60 秒去查一次有新词自动加载到内存。建表CREATEDATABASEik;USEik;-- 扩展词表CREATETABLEik_ext_dict(idBIGINTAUTO_INCREMENTPRIMARYKEY,wordVARCHAR(255)NOTNULLCOMMENT扩展词,create_timeDATETIMEDEFAULTCURRENT_TIMESTAMP);INSERTINTOik_ext_dict(word)VALUES(显眼包),(多巴胺穿搭),(程一口);-- 停用词表CREATETABLEik_stop_dict(idBIGINTAUTO_INCREMENTPRIMARYKEY,wordVARCHAR(255)NOTNULLCOMMENT停用词,create_timeDATETIMEDEFAULTCURRENT_TIMESTAMP);INSERTINTOik_stop_dict(word)VALUES(的),(了),(呢),(吧);放 MySQL 驱动# 下载 mysql-connector-j放到 plugins/ik/ 目录下和 IK 的 jar 同级cpmysql-connector-j-9.2.0.jar ./es-plugins/ik/配置项说明配置含义remote_ext_dictJDBC 连接串用户名密码用userrootpasswordxxx拼在 URL 里remote_ext_dict_table扩展词表名remote_ext_dict_column扩展词所在的列名remote_ext_stopwords停用词 JDBC 连接串remote_ext_stopwords_table停用词表名remote_ext_stopwords_column停用词所在的列名remote_ext_dict_interval刷新间隔秒用户名密码写 JDBC URL 里jdbc:mysql://host:3306/ik?userrootpassword123456useSSLfalse重启 ES 后往 MySQL INSERT 一条新词等 60 秒验证INSERT INTO ik_ext_dict(word)VALUES(新测试词);# 等 60 秒后curl-XPOSThttp://localhost:9200/_analyze\-HContent-Type: application/json\-d{ analyzer: ik_max_word, text: 新测试词在这里 }# 新测试词 被完整保留 → 热更新生效 ✅4 同义词词典——搜笔记本也召回笔记本电脑同义词不归 IK 管属于 ES 的synonymtoken filter。新建同义词文件synonyms.txt放在 ES 的config/目录下/usr/share/elasticsearch/config/不是 IK 的 config一行一组笔记本, 笔记本电脑, laptop 显眼包, 显眼, 显眼精 充氮气, 氮气填充创建 Index 时配上同义词 filterPUT/articles{settings:{analysis:{filter:{my_synonym_filter:{type:synonym,synonyms_path:analysis/synonyms.txt}},analyzer:{ik_synonym_smart:{tokenizer:ik_smart,filter:[my_synonym_filter]},ik_synonym_max_word:{type:custom,tokenizer:ik_max_word,filter:[my_synonym_filter]}}}},mappings:{properties:{content:{type:text,analyzer:ik_synonym}}}}搜笔记本时ES 自动把笔记本电脑也加入查询多种说法都能召回。同义词文件更新后新写入的数据立即生效已有数据需要 reindex 重建索引。

相关新闻

卡美德生物科普 RHD(Rh血型D抗原):分子结构、表达特征与生物学功能探究

卡美德生物科普 RHD(Rh血型D抗原):分子结构、表达特征与生物学功能探究

RHD基因编码的RhD抗原,是人类血型系统中极具代表性的膜蛋白分子,也是输血医学、细胞生物学及遗传学研究中的经典核心靶点。该靶点依托独特的跨膜结构,稳定表达于特定血细胞表面,不仅是血型分型的核心标志物,还参与机体…

2026/7/23 14:49:35 阅读更多 →
卡美德生物科普 RGMA( repulsive guidance molecule A):分子特征、表达特性与生物学功能研究

卡美德生物科普 RGMA( repulsive guidance molecule A):分子特征、表达特性与生物学功能研究

RGMA,全称排斥性导向分子A,是排斥性导向分子家族的关键分泌型糖蛋白。该靶点在生物体内的信号调控、细胞生长、组织形态构建等过程中扮演着重要角色,是发育生物学、细胞生物学领域重点研究的经典分子靶点。RGMA凭借独特的分子互作机制&#x…

2026/7/20 21:48:20 阅读更多 →
Express框架入门:从基础搭建到路由系统详解

Express框架入门:从基础搭建到路由系统详解

1. Express基础环境搭建与服务器创建作为Node.js最流行的Web框架之一,Express让服务器开发变得异常简单。我们先从最基础的服务器搭建开始:1.1 项目初始化与Express安装首先创建一个空目录作为项目根目录,执行npm初始化命令:mkdir…

2026/7/20 21:47:20 阅读更多 →

最新新闻

OP(Over-Provisioning,过量配置)

OP(Over-Provisioning,过量配置)

📦 OP(Over-Provisioning,过量配置) 📌 什么是 OP? Over-Provisioning(过量配置) 是指 SSD 内部 实际 NAND 容量 > 对外标称容量 的那部分预留空间。 实际 NAND 总容量:256 GB 对外标称容量: 200 GB────────── OP 空间: 56 GB (约 28%)…

2026/7/23 14:49:06 阅读更多 →
B站视频标题优化实战:长尾关键词与情感化表达技巧

B站视频标题优化实战:长尾关键词与情感化表达技巧

1. 背景与核心概念 在当今内容创作蓬勃发展的时代,视频标题的优化已成为创作者吸引流量、提升曝光的关键环节。一个优秀的标题不仅要准确传达视频内容,更要符合平台算法推荐机制,从而在激烈的竞争中脱颖而出。本文将以B站(哔哩哔哩…

2026/7/23 14:49:06 阅读更多 →
燃气报警器物联网卡遇2G/3G基站退网 全新低功耗网络替换迁移方案

燃气报警器物联网卡遇2G/3G基站退网 全新低功耗网络替换迁移方案

运营商2G/3G退网,燃气安防设备迎来强制升级期 国内各大运营商已进入常态化2G、3G基站精简关停阶段,老旧低速网络逐步退出民用、安防物联网市场。对于遍布小区、商铺、餐饮门店的燃气报警器而言,这场网络迭代带来了实打实的设备运维危机。燃气…

2026/7/23 14:49:06 阅读更多 →
电商卖家修图效率低?这套AI电商修图工具组合拳,让你事半功倍

电商卖家修图效率低?这套AI电商修图工具组合拳,让你事半功倍

电商卖家修图效率低?这套AI电商修图工具组合拳,让你事半功倍 前言 你知道电商卖家每天花多少时间在修图上吗? 我之前认识一个做淘宝的哥们,每天上架新品,拍照1小时,修图3小时起步。 问他为什么不雇美工&…

2026/7/23 14:49:06 阅读更多 →
别再花冤枉钱买服务器了:应用托管如何让个人开发者0成本上线项目

别再花冤枉钱买服务器了:应用托管如何让个人开发者0成本上线项目

别再花冤枉钱买服务器了:应用托管如何让个人开发者0成本上线项目 做独立开发最扎心的是什么?代码写完了,项目跑不起来。你兴冲冲写了个小工具、做了个小网站,结果发现——没有服务器。 买服务器?阿里云最便宜的也要几十…

2026/7/23 14:49:06 阅读更多 →
2026山东本地央国企就业公司实测丨不同服务内容差异对比

2026山东本地央国企就业公司实测丨不同服务内容差异对比

2026届山东高校应届生规模预计突破85万,受就业环境影响,超6成应届生将央国企、军队文职作为求职首选,但从历年招考数据看,山东烟草、国家电网山东分公司、山东海洋集团等头部本地央国企校招通过率不足3%,多数考生折戟的…

2026/7/23 14:48:06 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻