10年+,阿里沉淀出怎样的搜索引擎?
来源:引流技巧
编辑:引流技巧
时间:2025-09-03



阿里妹导读:搜索引擎是阿里的10年+沉淀,具有很高的技术/业务/商业价值。1688很多场景都借助了搜索中台的能力,基于此,以1688主搜为例介绍搜索全链路知识点,希望对你有所借鉴,有所启发。
一、整体架构 搜索引擎分为数据源聚合(俗称dump)、全量/增量/实时索引构建及在线服务等部分,以Tisplus为入口经由Bahamut(Maat进行工作流调度)->Blink->Hdfs/Swift->BuildService->Ha3->SP->SW等阶段对客户提供高可用/高性能的搜索服务。其中数据源聚合在tisplus平台和Blink平台完成,Build service和Ha3在suez平台完成,SP和SW通过drogo进行部署。具体架构图如下:









2.1 Bahamut——数据源图处理
Bahamut是离线数据源处理的组件平台,将web端拼接的数据图通过jobManager翻译成可执行的sql语句。目前Bahamut包含的组件有四类,分别是:


by 敬明
而对于Bahamut->blink过程可以陈述如下:

2.2 Maat——分布式流程调度系统
Maat是基于开源项目Airflow再次开发的分布式流程调度系统,具有可视化编辑及通用的节点类型,Drogo化部署,分集群管理及完善的监控&报警机制等优点。 关于Airflow及其他工作流系统,对比陈列如下:




2.3 Ha3 doc——数据输出
经过上述步骤后,最后将数据以xml的形式(isearch format)输出到HDFS/Pangu路径(全量)和Swift Topic(增量),引擎全量时通过HDFS路径获取全量doc文件进行build,增量时直接从swift topic中获取增量更新消息更新到引擎中。离线平台通过一个服务为Tisplus引擎模块提供表信息的查询等功能,以下是一个HA3表包含的信息:
三、Suez
经过上述步骤后,数据以xml(isearchformat)的格式产出到Hdfs和swift,然后通过在suez_ops平台的离线表中选择数据类型为zk并配置相应的zk_server和zk_path即可。 然后由Build service完成全量/增量/实时索引的构建,然后分发到Ha3在线集群提供服务。 suez的离线表构建逻辑如下:




3.1 Build Service——索引构建
Build Service(简称BS)是一套提供全量、增量、实时索引的构建系统 build_service总共有五类角色:
- admin :负责控制整体build流程,切换全量增量状态,发起定期任务,相应用户的控制请求;
- processor :负责数据处理,将用户的原始文档转化为轻量级可build的文档形态;
- builder :负责构建索引;
- merger :负责索引整理;
- rtBuilder :负责在线索引的实时构建。
3.2 Ha3——在线搜索服务
Ha3是一套基于suez框架的全文检索引擎,提供丰富的在线查询子句,过滤子句,排序子句,聚合子句且支持用户自定义开发排序插件。服务架构如下:


- Qrs的作用是:对输入的查询作解析与校验,通过后把查询转发给相应的;searcher,收集合并searcher返回的结果,最后对结果做一些加工并返回给用户。其中也可以通过写meger插件干预合并规则;
- searcher:可以是文档的召回服务(searcher),也可以是文档的打分与排序服务(ranker)或者是文档的摘要服务(summary);
- summary:1688主搜将searcher和summary分离,summary集群只提供取商品详情的服务。
qrs/searcher/summary等机器通过挂载到cm2提供服务,比如qrs有对外cm2,可以对SP等调用方提供服务,searcher和summary有对内cm2,可以接收从qrs来的请求并完成召回排序取详情等服务。
一次调用方的query服务,要经由qrs->query解析->seek->filter->rank(粗排)->agg(聚合)->rerank(精排)->extraRank(最终排)->merger->summary(取详情)的过程,具体描述如下:


四、Drogo
drogo是基于二层调度服务Carbon的无数据服务的管控平台,1688的SP服务及QP代理服务均部署在该平台。 1688搜索链路主要服务平台部署情况简述如下:


参考文档:
《搜索中台开发运维一体化实践-Sophon》、《基于DAG的分布式任务调度平台-Maat》、《tisplus用户操作手册》、《Build Service用户手册》、《Build Service源码》、《Ha3 用户手册》、《Ha3搜索引擎简介》、《drogo平台介绍》、《搜索离线平台系统架构及实现介绍》、《基于Blink Batch模式的搜索离线任务开发实践》、《搜索离线平台计算引擎简介——基于Blink2.2和Bayes的演进之路》、《解密双11实时计算每秒4.72亿背后的核心技术——Blink》、《SARO用户手册》、《工作流引擎比较》、《Airflow简介》、《Airflow github》

原文始发于微信公众号(阿里技术)


相关文章:
相关推荐:
栏目分类

最新文章

热门文章


