政策快报平台全文检索的3次升级:从ES到向量检索

政策快报平台上线时,搜索功能是基于Elasticsearch的关键词匹配。

用户搜"专精特新",只能搜到标题或正文里包含"专精特新"这四个字的政策。但很多相关的政策叫"小巨人企业培育""隐形冠军认定",跟"专精特新"说的是同一件事,但搜不出来。

用户搜"补贴",只能搜到标题里带"补贴"二字的政策,但很多政策叫"专项资金""后补助""奖励资金",用户搜不到。

关键词匹配只能解决"字面相同"的问题,解决不了"意思相同"的问题。

后来我们做了3次升级,把搜索从"关键词匹配"升级到了"语义理解"。搜索准确率从65%提升到了89%。今天复盘这3次升级的思考。

3次升级

第一次升级:同义词词典(从"字面匹配"到"词义扩展")

在ES之上加了一层同义词扩展。用户搜索时,系统自动把搜索词扩展成一组同义词,再交给ES查询。

示例:

  • 搜"专精特新" → 自动扩展为"专精特新 OR 小巨人 OR 隐形冠军 OR 单项冠军"

  • 搜"补贴" → 自动扩展为"补贴 OR 补助 OR 专项资金 OR 后补助 OR 奖励"

效果:搜索命中率提升了约20%,用户搜到相关政策的概率明显提高。

局限:同义词覆盖不全。新词、生僻词、组合词无法及时补充。比如"新质生产力"这个词出来之后,同义词词典还没来得及更新,用户搜"新质生产力"还是搜不到相关文件。

第二次升级:向量检索(从"词义扩展"到"语义理解")

引入向量检索。将用户查询和政策文本分别通过Sentence-BERT模型编码为向量,计算余弦相似度,按相似度排序返回结果。

优势:

  • 不依赖同义词词典,模型自动学习语义关系

  • 搜"专精特新"能匹配"小巨人""隐形冠军"

  • 搜"中小企业支持政策"能匹配"小微企业扶持措施"

  • 搜"研发费用优惠"能匹配"研发费用加计扣除"

效果:搜索准确率从65%提升到了82%。用户搜不到的情况大幅减少。

新问题:向量检索擅长语义泛化,但有时过于"发散"。用户搜一个精确的政策名称时(如"国发〔2026〕1号"),向量检索反而会匹配到一堆语义相似但不相关的文件,精确匹配能力不如ES。

第三次升级:混合检索(ES + 向量检索)

ES擅长精确匹配,向量检索擅长语义理解。两者结合,取长补短。

混合策略:

  • 用户搜索时,系统同时执行ES查询和向量检索

  • ES负责精确匹配(政策名称、发文字号、特定关键词)

  • 向量检索负责语义泛化(同义词、近义词、相关概念)

  • 两种得分按权重融合,得出最终排序

权重分配依据:

  • 精确查询(含发文字号、完整政策名称) → ES权重提高,向量权重降低

  • 模糊查询(行业词、概念词) → ES权重降低,向量权重提高

效果:搜索准确率从82%提升到了89%,精确匹配和语义泛化得到了平衡。

技术架构

text

复制

下载

复制代码
用户查询
    ↓
查询意图判断(精确or模糊)
    ↓
    ├─ 精确查询 → ES全文检索(BM25)
    └─ 模糊查询 → 向量检索(Sentence-BERT)
    ↓
结果融合与重排序
    ↓
返回最终结果

几点经验总结

第一,同义词词典虽然不如向量检索"智能",但实现简单、成本低、可控性强,在初期阶段依然有价值。同义词词典+ES也可以解决大部分问题,不必一开始就追求向量检索。

第二,向量检索解决的是"语义泛化"问题,但它引入了一个新的问题:精确匹配能力下降。混合架构是更务实的方案,而不是单一技术路线。

第三,搜索系统的准确率提升,往往是多个优化叠加的结果,而不是某一个"神器"的功劳。同义词扩展提升了10%,向量检索又提升了10%,混合检索再提升了5%------叠加在一起,才从65%到了89%。

结尾

从ES到同义词、从同义词到向量、从向量到混合检索------每一步都解决了当时的主要问题,也为下一步的优化留出了空间。

相关推荐
xywww1681 小时前
Claude Opus 5 API 接入实战:国内项目上线前的网络、Key、限流和排错清单
大数据·linux·网络·数据库·云计算·aws
宸津-代码粉碎机1 小时前
Jar热部署进阶实战|修复原生方案OOM与类冲突问题,生产级无BUG优化方案
java·大数据·服务器·开发语言·前端·人工智能·python
阿部多瑞 ABU13 小时前
新帝国殖民主义:文化-情感-金融复合体的当代运作机制
大数据·人工智能·金融
动恰客流统计13 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
阿里云大数据AI技术15 小时前
阿里云 Elasticsearch 9.4 Agent Builder 实战
人工智能·elasticsearch·agent
狙击主力投资工具17 小时前
通达信电脑版分时图成交量颜色怎么调? 分时成交量的的颜色怎么修改.股票分时图成交量修改颜色
大数据
A153625518 小时前
国内进销存软件排名2026 电商&零售企业选型指南
大数据·人工智能·零售
Warren2Lynch19 小时前
掌握 UML 构造型、标记定义与标记值:面向领域特定建模的 UML 扩展全面指南
大数据·算法·uml
晓子文集19 小时前
Tushare接口文档:期货交易日历(fut_trade_cal)
大数据·算法