加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

京东亿级商品搜索核心技术解密

发布时间:2021-01-07 13:26:29 所属栏目:安全 来源:网络整理
导读:副标题#e# 《京东亿级商品搜索核心技术解密》要点: 本文介绍了京东亿级商品搜索核心技术解密,希望对您有用。如果有疑问,可以联系我们。 作者:王春明,现任京东搜索平台部负责人,2011年加入京东搜索团队,期间一直负责京东搜索引擎研发工作,主导了多次搜索

对于有些热门查询,由于其结果较多,比如“男装”、“鞋”之类的query,原始查询结果几千万个,如果对这些结果挨个进行处理,性能会非常差.同时,从用户角度分析,一个查询只有排在最前面的结果对用户才有意义.通过分析用户翻页次数,可以得到截断保留topN结果.如何保证截断不影响用户体验呢?首先我们对商品建立离线模型,即为每个商品计算出一个质量分数据.然后在索引阶段,将所有商品按照质量分降序排列,保证在倒排链中,排在前面的商品质量分总是高于后面的.在线从前往后拉取倒排过程中,如果结果数达到10*topN时,停止拉取倒排.随后对结果计算文本相关性,再按照文本相关性取topN个.截断算法上线前后,虽然KPI指标无明显变化,但是对大结果查询性能提升了一个数量级.

3. 均匀分片策略

从总体架构图中我们可以看到,如果我们将一个term的倒排链进行均分,那么相应term的拉取倒排也会被分配至各个searcher列.正是由于各个searcher列是并行计算的,这样的均分操作就可以大大减少每个查询的平均响应时间.从理论上来讲,我们采用的均匀分片策略,也有效的契合了拉取倒排、排序、在线业务处理等CPU密集型的任务.但是分片增加,会带来硬件成本增高的后果,同时集群节点间的通信成本也会增加,需要进一步权衡折衷.

4. 业务优化

京东的搜索业务并不只有上面所述的策略和工程逻辑,还必须融合很多业务逻辑.由于每一次搜索几乎都会召回很多结果,如果业务逻辑处理不好,也会导致搜索体验不好.针对这一问题并没有通用的解决方法,但是通过实践我们总结出一个基本原则:在离线阶段完成尽可能多的业务逻辑,减少在线计算量!例如进行搜索排序时,我们需要根据用户搜索历史行为(浏览、点击、购买等)对召回的结果进行排序上的调整,在工程实现上我们会先离线统计出同一个query下所有用户对每个展示商品的行为,然后建立模型,计算出该query下每个商品的权重,将其以hash结构存储;在线排序时,直接以query+商品id为key,取出权重作为反馈特征参与综合排序.

搜索技术的新发展

我们在当前的架构基础之上,正在进行一些新的探索,比如场景搜索和图像搜索.

场景搜索

随着目前京东集团的业务的扩展,用户在使用搜索时,目的不仅仅是查找商品,还可能查询促销活动信息.为了满足这些新的需求,我们在目前商品索引融合了促销系统的数据.我们首先在Query Processor中增加对应意图的识别,然后将促销等数据转换为索引数据.只要Query Processor识别出用户提出这方便的查询意图,将对应的结果返回.

图像搜索

传统搜索仅仅针对文字,但是电商系统的商品图片非常重要,很多购买决策依赖于它.目前我们利用deep learning技术离线训练图片特征,并将其做成索引.当用户使用实拍图或者网图来搜索时,采用相同的方式提取特征,然后从索引中召回最相似商品返回给用户.

文章出处:开涛的博客(订阅号ID:kaitao-1234567)

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!