您当前的位置:首页 > 电脑百科 > 站长技术 > 搜索引擎

10年+,阿里沉淀出怎样的搜索引擎?

时间:2020-09-10 10:03:23  来源:  作者:
10年+,阿里沉淀出怎样的搜索引擎?

 


阿里妹导读:搜索引擎是阿里的10年+沉淀,具有很高的技术/业务/商业价值。1688很多场景都借助了搜索中台的能力,基于此,以1688主搜为例介绍搜索全链路知识点,希望对你有所借鉴,有所启发。

一、整体架构

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

10年+,阿里沉淀出怎样的搜索引擎?

 

二、Tisplus

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

10年+,阿里沉淀出怎样的搜索引擎?

 

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

10年+,阿里沉淀出怎样的搜索引擎?

 

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

10年+,阿里沉淀出怎样的搜索引擎?

 

DAG数据源图示例:

10年+,阿里沉淀出怎样的搜索引擎?

 

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

2.1 Bahamut——数据源图处理

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)

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

10年+,阿里沉淀出怎样的搜索引擎?

 


by 敬明

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

10年+,阿里沉淀出怎样的搜索引擎?

 

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

2.2 Maat——分布式流程调度系统

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

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

10年+,阿里沉淀出怎样的搜索引擎?

 

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

10年+,阿里沉淀出怎样的搜索引擎?

 

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

2.3 Ha3 doc——数据输出

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

{
 "1649992010": [
   {     "data": "hdfs://xxx/search4test_st3_7u/full", // hdfs路径
     "swift_start_timestamp": "1531271322", //描述了今天增量的时间起点
     "swift_topic": "bahamut_ha3_topic_search4test_st3_7u_1",
     "swift_zk": "zfs://xxx/swift/swift_hippo_et2",
     "table_name": "search4test_st3_7u", // HA3 table name,目前与应用名称一样
     "version": "20190920090800” // 数据产出的时间
   }
 ]
}

三、Suez

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

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

suez的离线表构建逻辑如下:

10年+,阿里沉淀出怎样的搜索引擎?

 

suez在线服务逻辑如下:

10年+,阿里沉淀出怎样的搜索引擎?

 

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

**3.1 Build Service——索引构建
**

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阶段卡住。

3.2 Ha3——在线搜索服务

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

10年+,阿里沉淀出怎样的搜索引擎?

 

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

10年+,阿里沉淀出怎样的搜索引擎?

 

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

四、Drogo

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

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

10年+,阿里沉淀出怎样的搜索引擎?

 

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

原文发布时间为:2019-09-24
作者:清刚
本文来自云栖社区合作伙伴“阿里技术”,了解相关信息可以关注“阿里技术”。



Tags:搜索引擎   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
今天不讲信息流,讲点其他的,比如搜索搜索是什么东西?见过开店卖东西吧,原理大同小异。比如我在步行街租个店铺,开个鞋店,每天在店里等着来步行街的人进我店里买我的鞋。百度搜索就...【详细内容】
2021-12-24  Tags: 搜索引擎  点击:(9)  评论:(0)  加入收藏
一、背景介绍在网上冲浪少不了用到搜索引擎,而很多朋友都习惯把Google视为第一个选择对象。当然Google无论在搜索速度还是结果关联性方面都是十分优秀的。但百度(http://www.b...【详细内容】
2021-11-05  Tags: 搜索引擎  点击:(31)  评论:(0)  加入收藏
在SEO优化的职业里,运用搜索引擎对网页内容的检索原理,对网站内部外部资源进行优化整合,然后到达抱负的作用,便利客户快速找到想要的信息。在分类上也可分白帽SEO和黑帽SEO。一...【详细内容】
2021-10-22  Tags: 搜索引擎  点击:(36)  评论:(0)  加入收藏
网络推广计划表示在网站优化时,内容优化也是重中之重,其中有关文章的优化也让站长们苦恼不已,因为不太清楚蜘蛛对网站文章的质量评判是如何的,很难做到更精准的蜘蛛“取向”,那么...【详细内容】
2021-10-22  Tags: 搜索引擎  点击:(45)  评论:(0)  加入收藏
搜索引擎是公众获取信息的重要渠道,也是众多企业进行宣传营销的重要阵地。而随着“有偿删帖”入刑,通过各种“非删除”方式进行网络负面舆论压制也成为相关行业的主流操作。...【详细内容】
2021-09-07  Tags: 搜索引擎  点击:(62)  评论:(0)  加入收藏
作为一名专业的SEO从业者,对于任何SEO项目的推进,都是建立在搜索策略基础之上,因此,定期关注搜索动态是一个必修课,只有这样我们才能更好的制定优化策略。比如:百度本次升级蓝天算...【详细内容】
2021-07-28  Tags: 搜索引擎  点击:(72)  评论:(0)  加入收藏
搜索引擎已经成为上网必不可少的工具之一,聪明的黑客们发现,搜索引擎也能成为发动网络攻击的工具。 Google Hacking,原指利用Google搜索引擎搜索信息来进行入侵的技术和行为,如...【详细内容】
2021-06-16  Tags: 搜索引擎  点击:(136)  评论:(0)  加入收藏
搜索引擎快照是一个非常方便且实用的工具,它能够在搜索结果不可用的时候(无法访问、被删除),快速查看到内容,不受网站宕机影响。但在目前的移动搜索引擎页面,想要查看快照非常困难...【详细内容】
2021-04-26  Tags: 搜索引擎  点击:(282)  评论:(0)  加入收藏
在学习搜索营销之前,我们应该弄清楚搜索引擎是什么。1.什么是搜索引擎?所谓搜索引擎,就是通过电脑程序爬行,追踪网页之间的链接。信息经过组织、加工后,向用户提供检索服务,并将...【详细内容】
2021-04-20  Tags: 搜索引擎  点击:(174)  评论:(0)  加入收藏
不知不觉从事外贸行业已经5年多了,这些年一直靠着公司分配的询盘过活。但公司网站本来没什么询盘,能分到我的就更少了,所以业绩你们可想而知。 去年开始,公司为了拓展业务,给我们新增了主动开发客户渠道,希望每个业务员都...【详细内容】
2021-04-16  Tags: 搜索引擎  点击:(139)  评论:(0)  加入收藏
▌简易百科推荐
今天不讲信息流,讲点其他的,比如搜索搜索是什么东西?见过开店卖东西吧,原理大同小异。比如我在步行街租个店铺,开个鞋店,每天在店里等着来步行街的人进我店里买我的鞋。百度搜索就...【详细内容】
2021-12-24  运营王明皓    Tags:搜索   点击:(9)  评论:(0)  加入收藏
在过去的时间中,我写了比较多的关于谷歌SEO推广,今天来写写GoogleAds广告账户免费诊断分析。今天我们的主题是:如何借助GoogleAds广告账户免费诊断分析工具,来诊断并优化你的Goo...【详细内容】
2021-10-26  优易化海外营销推广    Tags:GoogleAds   点击:(43)  评论:(0)  加入收藏
霸屏通俗来讲就是霸占屏幕,百度霸屏就是在百度搜索的结果中,除了竞价内容,剩下的都是我们品牌词或网站的内容。以用户的搜索习惯来说,一般翻两三页就不会再继续翻下去了。所以我...【详细内容】
2021-10-22  聪少爱学堂    Tags:霸屏引流   点击:(50)  评论:(0)  加入收藏
网络推广计划表示在网站优化时,内容优化也是重中之重,其中有关文章的优化也让站长们苦恼不已,因为不太清楚蜘蛛对网站文章的质量评判是如何的,很难做到更精准的蜘蛛“取向”,那么...【详细内容】
2021-10-22  云霸屏    Tags:搜索引擎   点击:(45)  评论:(0)  加入收藏
我们在做SEO优化的过程中,通常都会用到百度站长平台、5118、站长工具等seo工具,用来分析查询关键词排名。特别是百度站长平台中的分析数据很多,其中百度站长工具中的流量与关键...【详细内容】
2021-10-22  双丝网络    Tags:百度站长平台   点击:(35)  评论:(0)  加入收藏
网络推广费用了解到,网站关键词排名效果想要更好,就要扎实的做好优化工作。关键词排名高的网站能更优秀的出现在搜索引擎首页,获得更多的用户浏览,得到更高的权重,从而给企业带来...【详细内容】
2021-09-25  云霸屏  搜狐号  Tags:蜘蛛   点击:(39)  评论:(0)  加入收藏
百度搜索贸易风算法,消除了使用翻页键诱导用户行为,简单地告诉我们,只要你的翻页按钮存在异常跳转行为,无论跳转到哪个页面,都属于该算法的覆盖范围。百度的搜索交易风算法主要攻...【详细内容】
2021-08-31  羽西223    Tags:信风算法   点击:(66)  评论:(0)  加入收藏
1 前言现今互联网上的很多产品、战略决策都由数据驱动,以BulletTech为例,在运营微信公众号时,通过后台数据我们对每篇文章都会进行流量来源、裂变和阅读完关注等重要指标的监控...【详细内容】
2021-08-02  BulletTech    Tags:Google Analytics   点击:(93)  评论:(0)  加入收藏
昨晚松松编辑杰哥了解到,百度搜索最近对算法更新了,全面升级“蓝天算法”2.0版本,主要针对高权重网站出租二级目录和二级域名行为,这是要开始加大清洗目录出租站点了吗? 根据杰...【详细内容】
2021-07-29  卢松松    Tags:蓝天算法   点击:(76)  评论:(0)  加入收藏
网罗天下谈运营2021-07-20在做SEO的过程中,对于企业主而言,没有人刚开始建立网站的时候就会先知先觉,采用完全正确的SEO优化方法,这很必然会导致一些问题,比如:① 站内目录层级繁...【详细内容】
2021-07-21  Lollipop    Tags:网站不收录   点击:(81)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条