政策快报平台全文检索的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到同义词、从同义词到向量、从向量到混合检索------每一步都解决了当时的主要问题,也为下一步的优化留出了空间。

相关推荐
民乐团扒谱机12 小时前
【微实验】组合优化matlab实战(马科维茨投资模型):在收益与风险之间,寻找最优的人生配比
大数据·人工智能·算法·机器学习·数学建模·matlab·组合优化
星野川崎20612 小时前
电商多店运维:云机长期挂机频繁掉线、账号无故风控原因剖析与解决方案
大数据·运维·云计算·电商
小柯南敲键盘13 小时前
电商图片翻译工具推荐,批量处理主图视频字幕,免费试用
大数据·人工智能·python·音视频
观远数据13 小时前
零售连锁BI选型清单:什么样的场景适合ChatBI,什么样的场景不适合
大数据·人工智能·零售
大大大大晴天14 小时前
实时数仓怎么建:基于 StarRocks 的分层设计与实践
大数据
roman_日积跬步-终至千里15 小时前
【计算资源节省与稳定性治理】自助查询系统请求幂等性设计
大数据
小玮看世界16 小时前
当“安全“变成“教训“:《拟人化暂行办法》时代,AI护栏的过度拒答之困与破局
大数据·人工智能
FserSuN17 小时前
回顾Spark的概念与应用
大数据·分布式·spark
一知半解仙18 小时前
大国博弈与机器人纪元:我们正站在怎样的历史拐点?
大数据·人工智能·机器人
亚古数据18 小时前
亚古数据:新西兰公司工商报告Company Extract全解析
大数据·人工智能