京东的商品搜索功能是如何实现的

您所在的位置:网站首页 京东的搜索引擎是谁做的 京东的商品搜索功能是如何实现的

京东的商品搜索功能是如何实现的

#京东的商品搜索功能是如何实现的| 来源: 网络整理| 查看: 265

本文来自京东王春明老师的分享,主要介绍京东商品搜索的整体架构。

京东商品搜索简介

京东商品搜索引擎是搜索推荐部自主研发的商品搜索引擎,主要功能是为海量京东用户提供精准、快速的购物体验。目前入口主要有PC/移动/微信/手Q搜索、移动列表页、店铺搜索、店铺列表等。虽然只有短短几年的时间,系统已经能够支持日均PV过亿的请求,并且经过了多次618店庆和双11的考验。

与人们日常使用的如谷歌、百度等大搜索(或称为“全文搜索”)引擎相比,京东商品搜索引擎与前者有相通之处,比如“覆盖海量数据”、“超高并发查询”以及“超快速的请求响应时间”,同时又有自身显著的业务特点:

结构化的商品数据,需要从商品、库存、价格、促销、仓储等多个系统进行抽取; 极高的召回率要求,保证每一个状态正常的商品都能够被搜索到; 商品信息的及时更新,目的是为了保证用户极佳的购物体验——比如不能给用户展示出下柜的商品,或者商品的实时价格超出了用户搜索限定的范围。这就要求我们的搜索引擎要做到和各个系统的信息时刻保持同步,目前每天更新次数过亿; 逻辑复杂的商品业务,需要存储的商品属性信息是倒排索引信息的2倍之多; 用户购物的个性化需求,要求系统实现用户标签与商品标签的匹配。

正是由于既要兼顾大搜索引擎的通用需求,同时要契合京东的业务特点,我们将系统架构分为四个部分:1. 爬虫系统、2. 离线信息处理系统、3. 索引系统、4. 搜索服务系统。

为了使各位读者能够深入了解京东商品搜索引擎的架构,本文首先介绍了商品搜索的总体架构,然后依次介绍了爬虫系统、离线信息处理系统等各个部分,并且对搜索技术的最新研究方向做展望,希望对各位读者有所帮助。

总体架构

京东商品搜索引擎的整体架构如下图所示:

16028cfaad1e2ebd729b3a3072e9cc18.png

从上到下共分为3层。最上层是由搜索的前端UI层,负责页面展示。

中间层是由搜索索引服务、SUG搜索、相关搜索、划词服务和兜底服务组成。其中,SUG搜索提供输入框下拉提示词功能;相关搜索提供与query相关的其他搜索词服务;划词服务提供去除query部分词的功能;兜底服务用于索引服务异常情况下提供托底,保证用户基本的搜索可用。

最下层是索引生产端,主要功能是对接商品、库存、价格、促销、仓储等众多外部系统,整合相关数据生产全量和增量数据的索引,为在线检索服务集群提供全量索引和实时索引数据。

爬虫系统

商品搜索引擎的核心是建立商品索引,而建立索引需要详细的商品信息数据。我们利用大数据平台的数据库抽取接口和中间件系统,实现了站内商品爬虫系统,用来抽取数据库中的商品信息和及时发现变化的商品信息。从实践的效果上来看,爬虫系统表现是非常稳定和可靠的。

离线信息处理系统

离线信息处理系统主要功能是用来建立商品搜索引擎的待索引数据,包括全量待索引数据和增量待索引数据。

目前商品全量待索引数据按天进行更新,一部分是商品的基础属性信息,如商品sku、商品名称、颜色、规格、风格、材质面料等等,属于比较稳定、短时期内不会变化的数据。另外一部分是商品销售信息,如商品销量、销售额、评论等,属于易变数据。这些数据散布于多个系统中,使用的存储也各不相同。因此需要对这些来源分散的数据在商品维度进行合并,生成“商品全量待索引宽表



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3