分享好友 最新动态首页 最新动态分类 切换频道
10年+,阿里沉淀出怎样的搜索引擎?(v2019-09-24)
2024-12-27 02:07

搜索引擎分为数据源聚合(俗称dump)、全量/增量/实时索引构建及在线服务等部分,以Tisplus为入口经由Bahamut(Maat进行工作流调度)->Blink->Hdfs/Swift->BuildService->Ha3->SP->SW等阶段对客户提供高可用/高性能的搜索服务。其中数据源聚合在tisplus平台和Blink平台完成,Build service和Ha3在suez平台完成,SP和SW通过drogo进行部署。具体架构图如下

10年+,阿里沉淀出怎样的搜索引擎?(v2019-09-24)

1688目前有spu、cspu,company,buyoffer和feed等引擎及offer离线在tisplus运维,该平台主要ha3和sp的搭建和维护,大体架构如下

在日常维护中偶尔会遇到数据源产出失败的问题,主要是由于数据源表权限过期及zk抖动等原因。性能方面,在集团内搜索中台团队的引入Blink Batch模型后,dump执行时间被缩短,具体指标如下(以buyoffer引擎为例

在tisplus平台,离线dump的入口如下

DAG数据源图示例

下面主要说下离线dump数据源处理流程,包括Bahamut、Maat和数据输出。

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

  1. 数据输入:datasource(支持tddl和odps

  2. KV输入:HbaseKV(Hbase数据表

  3. 数据处理:Rename(数据字段重命名,DimTrans(使用1对多的数据聚合,Functions(简单字段处理,Selector(字段选择,UDTF(数据逻辑处理,Merge(数据源聚合,Join(left join

  4. 数据输出:Ha3(Hdfs/swift

对数据源的处理过程,描述如下

by 敬明

而对于Bahamut->blink过程可以陈述如下

其中,Bahamut将任务拆解后扔给JobManager进行逻辑节点到物理节点的转换,形成若干节点后再归并组合成一个完整的SQL语句,例如上图Kratos_SQL就是一个增量Join的完整SQL,配合资源文件一起通过BayesSDK提交任务。此外,平台增加了一个弱个性化配置的功能,可以通过个性化配置来实现控制某个具体任务的并发度、节点内存、cpu等等参数。

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

关于Airflow及其他工作流系统,对比陈列如下

eed引擎为例,maat调度页面如下

当任务错误时,可以通过该页面进行“将指定步骤置fail”然后重跑全量任务,也可以通过查看某个步骤的log获悉任务失败原因。

经过上述步骤后,最后将数据以xml的形式(isearch format)输出到HDFS/Pangu路径(全量)和Swift Topic(增量,引擎全量时通过HDFS路径获取全量doc文件进行build,增量时直接从swift topic中获取增量更新消息更新到引擎中。离线平台通过一个服务为Tisplus引擎模块提供表信息的查询等功能,以下是一个HA3表包含的信息

 
 

 经过上述步骤后,数据以xml(isearchformat)的格式产出到Hdfs和swift,然后通过在suez_ops平台的离线表中选择数据类型为zk并配置相应的zk_server和zk_path即可。

然后由Build service完成全量/增量/实时索引的构建,然后分发到Ha3在线集群提供服务。

suez的离线表构建逻辑如下

suez在线服务逻辑如下

下面针对离线(buildservice)和在线(ha3)进行简述

Build Service(简称BS)是一套提供全量、增量、实时索引的构建系统

build_service总共有五类角色

  • admin :负责控制整体build流程,切换全量增量状态,发起定期任务,相应用户的控制请求

  • processor :负责数据处理,将用户的原始文档转化为轻量级可build的文档形态

  • builder :负责构建索引

  • merger :负责索引整理

  • rtBuilder :负责在线索引的实时构建。

其中admin、processor、builder、merger是以二进制程序的方式运行在hippo上,rtBuilder是以lib的形式提供给在线部分使用。

一个完整的全量+增量过程会产生一个generationid,该generation会经历  process full-> builder full -> merger full ->process inc -> builder inc ->merger inc的过程,其中处于inc过程后,builder inc和merger inc会交替出现。1688在ha3升级之前经常会出现 build tooslow问题就是因为分配到了坏节点或builderinc/merger inc阶段卡住。

Ha3是一套基于suez框架的全文检索引擎,提供丰富的在线查询子句,过滤子句,排序子句,聚合子句且支持用户自定义开发排序插件。服务架构如下

1688主搜引擎由一组Qrs、searcher和summary组成

  • 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(取详情)的过程,具体描述如下

其中,ReRank和ExtraRank由Hobbit插件及基于Hobbit的战马插件完成,业务方可以根据自身需求开发战马特征并指定各特征权重得到商品的最终分。

drogo是基于二层调度服务Carbon的无数据服务的管控平台,1688的SP服务及QP代理服务均部署在该平台。

1688搜索链路主要服务平台部署情况简述如下

最新文章
金科重整方案落地:冯仑等投资人注资超33亿,未来布局特殊资产
  12月13日晚,金科地产集团股份有限公司(简称“金科股份”)发布的关于重整最新进展公告显示,上海品器联合体(上海品器、北京天娇绿苑联合体)已与金科股份及重庆金科正式签署重整投资协议,金科股份将累计获超33亿元的资金支持。  
电脑下载库音乐全攻略,轻松获取海量音乐资源,简单教程大揭秘!
本文介绍了如何轻松下载库音乐,简单易懂。通过本教程,您可以方便地获取海量音乐资源。您需要选择可信赖的音乐下载网站,然后搜索您喜欢的歌曲或歌手。点击下载按钮并按照提示完成下载过程。您可以将下载的音乐保存在本地计算机上,随时随
聊城事业单位招聘网——解密聊城各类事业单位招聘信息
聊城事业单位招聘网是聊城地区最权威的事业单位招聘信息发布平台。作为求职者在聊城地区找寻事业单位岗位的利器,聊城事业单位招聘网致力于为求职者提供最新、最全面的招聘信息和职位资讯。聊城是山东省的一个地级市,下设2个市辖区、7个县
外链建设指南:为支持视频内容的网站打造强有力的外链347
在竞争激烈的数字格局中,创建吸引观众的外链策略至关重要。对于支持视频内容的网站而言,建立高质量外链尤为重要,因为它可以极大地影响网站的可见性和权威性。规划外链建设策略1. 确定目标受众明确了解网站的目标受众对于创建有效的链接
直通车推广怎么收费,直通车推广的扣费规则
随着电商行业的飞速发展,越来越多的商家开始在各大电商平台上开设店铺,想要在竞争激烈的市场中脱颖而出,简单依靠自然流量已经远远不够。因此,许多卖家会选择使用推广工具来增加店铺的曝光率和转化率,而在淘宝平台上,直通车无疑是最为
聊城大学建筑工程学院2024年硕士研究生复试录取工作方案
根据《教育部关于印发〈2024年全国硕士研究生招生工作管理规定〉的通知》(教学[2023]2号)和《聊城大学2024年硕士研究生复试录取工作方案》的相关要求,结合学院实际,现将我院2024年硕士研究生招生考试复试相关工作安排如下:一、组织领
粉丝必看!如何设计一个吸睛的Logo?AI免费神器让你的专业形象更出众
还在找人花钱做logo设计?当然这里申明下,小编还是建议大家尊重设计劳动力尽量选择付费不过小编就是喜欢免费的,今天就给大家带来一个免费在线生成LOGO的工具。工具名称:搜狐简单AI工具地址https://ai.sohu.com/pc/generate/textToImg?030
浙马纪录挑战赛 |2024第五届浙马纪录挑战赛竞赛规程!
2024第五届浙马纪录挑战赛竞赛规程一、组织单位主办单位:临平区人民政府、浙江省马拉松及路跑协会 承办单位:临平区文化和广电旅游体育局、杭州雁渡寒潭体育运动俱乐部 协办单位:浙江黄龙体育文化培训有限公司、杭州电视台青少•体育频道
利用YouTube玩转独立站营销和SEO
YouTube是世界最大的社交平台之一,也是世界第二大的搜索引擎和世界最大的视频网站。虽然网络上能找到很多关于优化YouTube视频创作和频道运营的教程,但是如何利用YouTube来使您的网站实际受益呢?以下8点建议将会帮助你! 接下来,我们会
选品时如何评估竞争热度:搜索量多少算是竞争不激烈?
讲到选品时,我总是反复强调,除非你家大业大资金雄厚运营彪悍,否则,一定要选择偏冷门的产品。 那什么才算是偏冷门的产品呢? 为了让选品更有针对性、可量化,我专门给出建议:选择Best Seller日销量在50-150单的产品。 这样的产品,大卖
相关文章
推荐文章
发表评论
0评