阿里巴巴搜索引擎平台Ha3揭秘

Ha3是阿里巴巴搜索团队的在线搜索引擎平台,支撑淘宝、天猫等核心业务的搜索服务。平台包括Qrs和Searcher,Qrs负责接收查询并分发给Searcher,后者执行查询并返回结果。Searcher通过多行部署适应流量变化,使用Build Service生成索引。离线索引通过Build Service的Processor、Builder和Merger处理,全量和增量数据分别有不同的产出流程。Ha3还提供插件机制实现业务定制化,并有完善的运维系统进行服务更新和管理。
摘要由CSDN通过智能技术生成

云栖君导读:Ha3是阿里巴巴搜索团队开发的搜索引擎平台,它为阿里集团包括淘宝、天猫在内的核心业务提供搜索服务支持。

 

Ha3的架构


640?wx_fmt=png


在线


Ha3是搜索体系中的在线部分,在其系统内部,包含Qrs(Query result searcher)和Searcher两种基本的角色。


Qrs用于接收用户查询,将用户查询分发给Searcher,收集Searcher返回的结果作整合,最终返回给用户,这里的用户既指直接通过http请求查询引擎的自然人,也指Ha3的上游服务,如sp(搜索链路的Ha3上游服务)和tpp(推荐链路的Ha3上游服务)。


Searcher是搜索查询的执行者,倒排索引召回、统计、条件过滤、文档打分及排序及摘要生成的过程都是在Searcher上完成的。根据业务的需要,有时也会把摘要(Summary)单独分出来,搭建一套独立的摘要集群。


在实际的部署中,Qrs和Searcher都是采用多行部署的方式,可以根据业务的流量变化作调整。Searcher还可以根据业务的数据量调整列数,解决单机内存或磁盘放不下所有数据的问题。


Qrs和Searcher都可以通过运维系统挂载到发现服务上,这里提到的发现服务通常是cm2和vipserver。结合gig 这个搜索团队开发的RPC lib,对Qrs和Searcher的访问均可以做到自动的流量均衡及坏节点检测降级,达到业务上的平稳运行。

 

640?wx_fmt=png


离线


我们把索引数据的生成过程称作离线过程。Ha3的索引是通过搜索团队开发的Build Service系统生成的。


Build Service首先是一个独立的服务,通过运维系统对数据源产出的信号监控,这个独立服务产出全量和增量索引到hdfs上,通过dp分发给Ha3的Searcher。全量索引的产出周期通常是一天或数天,增量索引的周期通常是几十分钟。


Build Service也以lib的方式存在于Ha3当中,用于实时处理增量消息,直接将索引生成到Ha3 Searcher的内存当中,这样,Ha3的查询结果对数据时效性的保证能做到秒级。但这种方式也比较耗内存,随着实时消息的到来作线性增长,因此每次加载增量索引时,Ha3都会清理实时索引的内存。

 

table、zone、biz


从业务的角度,Ha3包括zone、biz、table的概念<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值