本文原作者:彭江军,经授权后发布。
原文链接:https://cloud.tencent.com/developer/article/1525595
导语:对于做算法的而言,了解一下整个流程是必要的。一来加深对整个环节的理解,二来:方便在定位badcase的知道可能是那块的问题所在。
1:写在前头,不专业的地方求轻喷
这部分做的时间比较短,大概半年的ES引擎维护工作,负责了两个小频道的召回服务(具体那两个不能说,万一之前遇到没有搜索出想看结果是因为我的召回服务的问题,那就不太好了。哈哈)。不过公司现在有专门的云服务来维护ES,另外不同的部分可能有自研的引擎,用法上不一样,但是作为排序的底层服务,在这里还是有必要提一下的。
2:工业流程
大体上分为召回和排序两个阶段。
解释说明一下:
1:当用户的请求过来后,搜索排序需要接受到这个信号,去调用引擎返回相关的doc,作为后续排序的基础。
2:对相关的doc 进行粗排,这里的粗排可以是引擎的相关分,也可以不是,这是一个初级的排序
3:对粗排的结果精排,包括加入更多维度的特征和一些复杂逻辑的处理
4:对于线上的情况,任何模型都不可能保证完全符合实际情况,干预因此是一个非常必要的模块。
3:整体流程的梳理
对于排序的模块在这里不做说明,下面简单的例举一下排序所依赖的上游服务。引擎模块已经数据聚合模块。图上描述的较为清晰了,具体的就不多讲了。
系列文章: