内容提要
Himalayas远程招聘平台为超10万职位构建语义匹配,因关键词搜索无法弥合用词差异且成本高,于2023年从Pinecone迁移至Qdrant。Qdrant在同一查询中结合语义检索、关键词匹配与结构化过滤,支撑搜索和个性化推荐等场景,日均处理数十万请求,中位延迟约30毫秒,召回率提升约19个百分点。
延伸解读
从关键词到语义:招聘搜索的范式转变
Himalayas的案例表明,传统关键词搜索难以弥合求职者与职位描述之间的用词差异,导致大量合格职位被漏掉。语义搜索通过理解相关经验,能发现措辞不同但实质匹配的机会。对于拥有海量动态文档的招聘平台,仅靠关键词匹配不仅效果有限,而且随着数据增长,成本也会成为负担。转向向量搜索是提升匹配质量的关键一步。
混合检索与结构化过滤:精准匹配的必备组合
单纯的语义相似度并不足够,职位匹配还需考虑地点、时区、雇佣类型等硬性约束。Himalayas选择Qdrant,正是因为它能在同一查询中结合语义检索、关键词匹配和结构化过滤,避免多服务拼接带来的延迟和复杂度。这种一体化设计确保了检索结果既相关又符合实际要求,提升了用户体验。
生产环境性能:延迟与规模的可控性
Himalayas每天通过Qdrant处理数十万次请求,中位延迟约30毫秒,p95约200毫秒,支撑了搜索、个性化推荐等多个场景。这表明Qdrant能够满足高并发、低延迟的生产需求。对于中小团队而言,将基础设施管理交给Qdrant Cloud,可以更专注于匹配算法的优化,而非数据库运维。
持续评估与AI反馈:匹配质量提升的下一步
Himalayas通过离线评估发现,近期改进将召回率提升了约19个百分点,并将不相关结果减少了约4倍。团队下一步计划利用AI评估搜索结果和推荐匹配的质量,将离线基线转化为持续反馈循环。这提示我们,语义搜索系统的优化是一个迭代过程,需要结合自动评估与算法调整,才能不断提升匹配效果。
Q&A
Himalayas为什么从Pinecone迁移到Qdrant?
Himalayas在2023年初试用Pinecone,但发现它更像向量数据库而非搜索引擎,无法在同一查询中同时进行关键词匹配和精确过滤。他们需要语义相似度、关键词匹配和结构化过滤在一个查询中协同工作,而Qdrant正是为此设计的,因此于2023年5月迁移到Qdrant Cloud。
Himalayas的检索管道是如何工作的?
Himalayas运行混合检索,结合语义搜索和关键词搜索,并应用结构化过滤器(如地点、时区、雇佣类型)。查询或候选人资料作为起点,系统从Qdrant检索潜在匹配,应用约束过滤,然后针对不同场景(搜索结果、个性化匹配、相关职位推荐)进行排名。Qdrant负责检索和过滤,Himalayas应用负责最终排名和展示。
Qdrant为Himalayas带来了哪些性能提升?
Qdrant每天处理数十万请求(每月超过2500万),管理约300万个数据点。中位延迟约30毫秒,p95约200毫秒。召回率提升了约19个百分点,不相关结果减少了约4倍。
Himalayas如何利用Qdrant扩展其产品功能?
自2023年采用Qdrant以来,Himalayas将其用途从职位搜索扩展到个性化匹配和相关职位推荐。Qdrant现已成为产品发现的核心部分,同一检索层服务于搜索查询、推荐职位流和相似职位查找。
Himalayas下一步计划是什么?
团队优先进行搜索和匹配算法的实验,将存储和内存优化视为后续步骤。当前重点是利用AI评估质量并改进结果,包括评估结果集对搜索的满足程度以及推荐职位与候选人资料的匹配程度,将离线评估基线转变为持续反馈循环。
为什么Himalayas需要语义搜索而不是关键词搜索?
因为职位标题和描述因公司而异,相关机会往往不使用与候选人资料或搜索查询相同的措辞。仅匹配关键词的搜索引擎会错过大量合格职位,并显示共享词汇但实质不符的职位。语义搜索能理解相关经验,弥合词汇差异。