Himalayas 构建百万级远程职位语义匹配:Qdrant 混合搜索实战案例
在远程招聘领域,搜索能力即产品核心。Himalayas 作为一个连接 10 万 + 实时远程职位与 30 万 + 人才档案的双边市场,面临着巨大的挑战:如何跨越不同公司特有的“词汇鸿沟”,让在里斯本工作的“增长工程师”也能精准发现兼容时区的“产品型全栈开发”岗位?
从关键词到语义:技术选型背后的痛点
Himalayas 早期的搜索体验受限于关键词匹配。随着数据量激增,他们曾尝试 Algolia 和 Elasticsearch。然而,单纯的关键词匹配无法理解“相关经验”,且随着数据规模扩大,Elasticsearch 的内存成本变得难以承受,而在此基础上叠加语义搜索则需要构建庞大的专用集群,这对初创团队而言成本过高且扩展性差。
团队在 2023 年初曾尝试 Pinecone,但发现其更像是一个纯粹的向量数据库,缺乏将语义相似度与精确过滤(如地理位置、时区、合同类型)结合的能力。他们需要一个能在单次查询中同时处理语义理解与结构化过滤的引擎。
为什么选择 Qdrant?
Himalayas 最终选择了 Qdrant Cloud,并在 2023 年 5 月完成迁移。这一决策基于以下关键考量:
- 混合搜索(Hybrid Search)原生支持:Qdrant 允许在同一查询中结合语义向量检索与关键词匹配,并直接应用 Payload 过滤。这避免了传统架构中“先检索再过滤”导致的性能损耗和数据冗余。
- 架构灵活性:Qdrant 被视为一个可随业务演进的坚实基础,而非固定的管道。其 API 直观,云托管服务将基础设施管理压力降至最低。
- 性能与稳定性:对于专注于匹配质量而非数据库运维的小团队来说,Qdrant 的可靠性至关重要。
生产环境中的检索管道
在 Himalayas 的生产环境中,检索管道采用了混合检索策略:
- 输入:用户的搜索查询或候选人的简历。
- 处理:系统利用 Qdrant 进行语义向量检索,同时应用结构化的 Payload 过滤(如合法工作地、时区重叠、雇佣类型)。
- 输出:经过 Qdrant 初步筛选和排序的结果,再由 Himalayas 应用层根据特定场景(搜索结果、个性化推荐、相似职位)进行最终排名和展示。
关键指标与成效
自 2023 年采用 Qdrant 以来,其性能表现令人印象深刻:
- 吞吐量:日均处理请求数百次,月均超过 2500 万次,支撑约 300 万个数据点。
- 延迟表现:Qdrant 内部平均耗时约 30ms,P95 延迟控制在 200ms 以内。
- 质量提升:通过离线评估,近期优化使召回率(Recall)提升了约 19 个百分点,无效结果数量减少了 4 倍。
未来展望
随着搜索功能的深化,Himalayas 正计划利用 AI 进一步评估和匹配质量,而不仅仅是依赖存储优化。Qdrant 已不仅仅是一个工具,而是 Himalayas 发现(Discovery)生态系统的核心基础设施。
“Qdrant 为我们提供了一个可靠的基石,让我们能将精力集中在为求职者改善体验上,而无需担心基础设施的复杂性。” —— Jack Walsh,Himalayas 联合创始人