PolarSearch 分词与词典管理:让数据库真正"理解"中文检索

简介: PolarSearch将IK与ANSJ中文分词能力内嵌至数据库内核,支持索引/查询双模式分词、自定义词典热更新、同义词扩展及停用词过滤,实现分词与检索语义闭环,无需应用层集成,大幅提升中文检索召回率与准确率。

全文检索为什么需要精细化分词

在构建搜索、RAG、知识库等应用时,全文检索是绑定业务语义的关键环节。对于中文场景,分词质量直接决定检索的召回率与准确率——分得太粗会漏掉结果,分得太细则引入噪声。

传统做法是在应用层自行集成分词器(如 jieba、HanLP),再将分词结果写入数据库。这种方案的问题在于:分词逻辑与存储分离,词典更新需要重新灌数据,且难以在 SQL 层直接利用分词能力做实时检索。

1.png

PolarSearch 作为 PolarDB 内置的搜索引擎,将分词能力下沉到数据库内核,提供 IK 和 ANSJ 两套中文分词插件,并配合统一的词典管理体系(自定义词库、同义词、停用词),使得开发者可以在数据库层面完成从分词、词典配置到检索优化的完整链路。

两套分词引擎:IK 与 ANSJ 的差异化定位

PolarSearch 同时支持 polar-analysis-ik 和 analysis-ansj 两个分词插件,覆盖从通用场景到精细化 NLP 场景的不同需求。

2.png

polar-analysis-ik:快速落地的首选

IK 分词插件提供两种分词模式:


  • ik_smart(粗粒度):倾向于将文本切分为最少数量的词语,适合用于搜索查询端。例如"计算机汉字输入方法"仅会被拆成"计算机"、"汉字输入"、"方法"。


  • ik_max_word(细粒度):对文本做最大程度的切分,输出所有可能的词语组合,适合用于索引端以提高召回率。同样的"计算机汉字输入方法"会同时被拆成"计算机"、"计算"、"算机"、"汉字输入"、"汉字"、"输入"、"方法"等多个词条。


一个典型的实践策略是:索引时使用 ik_max_word 确保最大召回,查询时使用 ik_smart 提高精确度。这样既不会漏掉相关文档,又能保证排序合理。


IK 插件支持自定义主词典和停用词词典,通过 ext_dic_main 和 ext_dic_stop 参数进行配置。更重要的是,IK 支持热更新——修改词典后无需重启集群即可生效。

analysis-ansj:面向精细化 NLP 场景


ANSJ 分词基于 ansj_seg 算法实现,提供五种分词模式,每种模式针对不同的使用场景做了优化:

  • base_ansj(基础分词):基于词典的标准分词,速度快,适合对性能要求高、对分词进度要求不高的批量处理场景。
  • index_ansj(索引分词):针对全文索引优化,类似 IK 的 max_word 模式,输出更多词条以提高索引覆盖度。
  • query_ansj(查询分词):针对搜索查询优化,输出更精简但更有意义的分词结果,减少噪声。
  • dic_ansj(用户词典):当业务有大量专有名词(如药品名、型号、品牌)时,此模式会优先匹配用户词典中的词条,避免将专业术语错误拆分。
  • nlp_ansj(NLP 高精度):基于CRF(Conditional Random Field,条件随机场)模型,分词准确度最高,适合对语义理解要求严格的场景,如智能问答、意图识别等。


ANSJ 支持四类词典:用户词典、停用词词典、歧义词典和同义词词典,支持在配置文件中通过添加后缀Key区分并加载多个同类词典文件。


词典管理:三大能力构建检索语义闭环


分词器只是基础,真正让检索"智能"起来的是词典管理能力。PolarSearch 通过 cluster-dict-management 插件提供统一的词典管理平台,支持自定义词典、同义词和停用词三大核心能力。

3.png

自定义词典:让分词器认识你的业务术语


默认分词器的词库基于通用语料训练,面对特定领域术语时往往力不从心。例如"大语言模型"可能被错误切分为"大/语言/模型","向量检索"可能被切成"向量/检索"而丢失作为一个完整技术概念的语义。


通过上传自定义词典,可以将这些业务术语作为整词加入分词器。


同义词:扩展检索的语义覆盖


用户的搜索意图和文档中的表述往往不一致。"手机"和"移动电话"是一回事,"us"在某些场景下等同于"美国"。如果不做同义词扩展,这些语义等价的查询就会导致漏召回。

PolarSearch 支持两种同义词定义方式:

  • 等价同义词:用逗号分隔的词组,如“手机,移动电话,智能手机”,表示这些词在检索时互相等价,搜索任意一个词都匹配所有。
  • 定向映射:使用 => 语法,如“usa,us => 美国”,表示搜索"usa"或"us"时自动扩展为标准词"美国"进行检索,但反向不生效。


停用词:过滤噪声提升检索精度

"的"、"了"、"是"、"在"这类高频虚词几乎出现在每一篇文档中,如果不加过滤,它们会占据大量索引空间且对检索毫无贡献。停用词机制就是在分词阶段将这些词过滤掉。

PolarSearch 支持两种配置方式:


一是上传停用词文件(UTF-8 编码,每行一词),通过 stopwords_path 在分析器中引用;

二是在索引定义中使用 stop 过滤器直接以列表形式定义。


在实际项目中,建议根据业务语料统计高频无意义词,定制停用词表以获得最佳效果。


实战场景:电商搜索中的分词与词典协同

以一个电商搜索场景为例,看看分词与词典管理如何协同工作。

4.png


假设用户输入搜索词"苹果14手机壳"。处理流程如下:

第一步:分词。IK 分词器(ik_smart 模式)将查询切分为"苹果14"、"手机"、"壳"三个词条。如果没有自定义词典,"苹果14"可能被进一步拆分为"苹果"和"14",导致检索结果中混入大量水果相关内容。这里自定义词典确保了"苹果14"作为一个品牌型号整词处理。

第二步:同义词扩展。同义词规则将"苹果14"扩展为"iPhone14",将"手机壳"补充为"保护套"、"手机保护壳"等变体。这样即使商品标题中使用的是"iPhone14保护套",也能被成功召回。

第三步:停用词过滤。如果查询中包含"的"、"个"等虚词,在此阶段被过滤,避免对召回产生干扰。

第四步:检索返回结果。经过分词、扩展和过滤后的词条集合用于匹配索引,返回精准的商品列表。


整个过程中,如果有新品发布(如"苹果15"),只需在自定义词典中添加新词条并触发热更新,无需重建索引或重启服务,即可让搜索引擎立即识别新术语。


工程实践建议


基于上述能力,总结几条在实际项目中的工程建议:


索引与查询使用不同分词策略。索引端用 ik_max_word 或 index_ansj 最大化召回,查询端用 ik_smart 或 query_ansj 提高精度。这是搜索引擎领域的经典实践,PolarSearch 原生支持在 mapping 中为同一字段分别指定 analyzer 和 search_analyzer。

词典更新后注意存量数据。IK 和 ANSJ 都支持词典热更新,但热更新只影响新写入的数据。存量数据如果需要应用新分词规则,需要执行 reindex 操作,实际操作中可考虑先在测试索引验证效果再执行重建。

同义词放在查询端而非索引端。如果将同义词扩展放在索引阶段,每次更新同义词规则都需要全量重建索引。放在查询阶段则更灵活——修改同义词文件后立即生效,无需触碰存量数据。

ANSJ 的 dic_ansj 模式适合垂直领域。当业务中存在大量不可拆分的专有名词(如药品通用名"盐酸二甲双胍缓释片"、产品型号"RTX-4090-Ti"等),dic_ansj 模式会优先匹配词典中的长词,避免将专业术语碎片化。


总结

PolarSearch 的分词与词典管理将文本分析能力内置于数据库层面,使得开发者无需在应用端维护独立的分词服务和词典同步逻辑。IK 插件适合快速落地的通用搜索场景,ANSJ 插件则为需要精细化控制的 NLP 应用提供了更多选择。配合自定义词典、同义词和停用词的统一管理与热更新机制,可以在不停服的前提下持续优化检索效果,满足业务演进中不断变化的语义需求。


目录
相关文章
|
1小时前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
7182 31
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
1小时前
|
数据采集 人工智能 前端开发
让 Coding Agent 从黑盒到透明:阿里云 Agent 观测审计数据采集实践
AI Agent 规模化落地带来执行黑盒、行为难追溯、成本难度量三大难题。阿里云基于 OTel 标准,面向 Coding Agent、个人通用助理和框架型 Agent,推出 LoongSuite Pilot、插件及探针等无侵入采集方案,让 Agent 实现可看见、可分析、可审计、可治理。
625 140
|
1小时前
|
人工智能 缓存 自然语言处理
阿里Qwen3.7-Max评测:Agent能力显著提升,耗时与调用成本大幅下降
阿里云百炼推出面向智能体的旗舰大模型Qwen3.7-Max,具备长周期自主执行能力,显著提升编程、办公自动化等复杂任务处理水平;支持MCP集成与多框架兼容,并以限时5折+100万Tokens免费试用大幅降低使用门槛,助力企业高效落地AI应用。在阿里云百炼平台快速体验:https://t.aliyun.com/U/fPVHqY
|
1小时前
|
人工智能 弹性计算 运维
阿里云发布堡垒机智能运维Agent,运维交互进入自然语言新时代
支持自然语言运维,提升效率与安全双保障。
1158 1
|
1小时前
|
人工智能 安全 定位技术
CodeGraph深度解析 让Claude Code工具调用直降七成的核心原理与实操教程
如今以Claude Code为代表的AI编程智能体已经成为开发者日常编码、项目重构、漏洞修复的必备工具。但在长期使用过程中,几乎所有开发者都会遇到同一个明显痛点:AI虽然具备强大的代码生成与分析能力,却常常陷入盲目探索的循环中。
1221 2
|
1小时前
|
存储 定位技术 数据库
CodeGraph 如何让 Claude Code减少 7 成工具调用?
CodeGraph 为 Coding Agent 提供本地代码知识图谱,把函数、类、调用链和框架路由提前整理成“项目地图”,减少盲目搜索和文件读取。它不是新 Agent,而是上下文基础设施,让 Agent 更快找到正确代码路径,平均减少 7 成工具调用。
1296 3
|
1小时前
|
人工智能 弹性计算 安全
阿里云618活动时间、活动入口、优惠活动详细解读
2026年阿里云618创新加速季已全面开启,作为年度力度最大的云产品促销活动,本次大促覆盖轻量应用服务器、ECS云服务器、GPU云服务器、数据库、AI算力、安全服务、CDN等全品类产品,推出5亿元算力补贴、新用户限时秒杀、普惠满减、企业专享、免费试用、云大使返佣等多重福利,个人开发者、中小企业、AI团队均可享受专属低价。本文将系统梳理2026年阿里云618活动的完整时间节点、官方参与入口、各类优惠细则、使用规则、热门产品推荐及实操代码,帮助用户精准参与、高效省钱,以最低成本完成上云部署。
1043 5
|
1小时前
|
人工智能 自然语言处理 算法
|
1小时前
|
人工智能 自然语言处理 安全
Vibe Coding 实战:别盲目跟风,先分清 vibe coding 适合什么场景
本文系统总结vibe coding实战经验:明确其适用场景(原型、小工具、标准化模块),剖析5步落地流程(场景判定→结构化提示词→目录初始化→分模块生成→自动化校验),指出四大常见误区,并推荐适配工具Trae。强调“场景匹配+规则前置”是提效关键,避免盲目套用。
853 1
|
1小时前
|
人工智能 运维 API
2026年阿里云百炼通义千问Qwen3.7-plus深度介绍 功能特性、使用优势及618大促订阅方案指南
大模型技术的普及,让AI能力逐步融入个人办公、内容创作、代码编写、企业运营、教育培训等各类场景。不同定位的模型对应不同使用需求,旗舰级模型性能强劲但使用成本偏高,轻量化模型价格低廉却难以胜任复杂任务,而介于两者之间的中端主力模型,凭借均衡的能力、亲民的定价、广泛的场景适配性,成为绝大多数个人用户、小型团队、中小企业的首选。
404 1