2020-12-31 10:07:52 阅读(141)
JD.COM商品搜索引擎是搜索推荐部自主开发的商品搜索引擎,其主要功能是为大量JD.COM用户提供准确快捷的购物体验。虽然只有几年,我们的搜索引擎已经通过了许多618商店庆祝和双11测试,可以与谷歌、百度等全文搜索引擎相比,我们的产品有相似之处,如覆盖1亿商品海量数据,支持短期超高并发查询,有自己的业务特点:1、海量数据,1亿级商品量;2、高并发查询,日PV超过1亿;3.、请求需要快速响应。搜索已经成为我们日常生活中不可或缺的应用,很难想象没有Google、互联网会变成什么样的百度等搜索引擎?搜索已经成为我们日常生活中不可或缺的应用,很难想象没有谷歌、互联网会变成什么样的搜索引擎,比如百度。京东站的商品搜索就像搜索引擎与互联网的关系一样。他们的共同点:1.海量数据,1亿级商品;2.高并发查询,日PV超过1亿;3.请求需要快速响应。这些共同点使商品搜索采用类似于大型搜索的技术架构,将系统分为:1。离线信息处理系统;2。索引系统;3。搜索服务系统;4。反馈和排序系统。同时,商品搜索具有商业属性,不同于大型搜索:1。商品数据已结构化,但分布在商品、库存、价格、促销、仓储等系统中;2。召回率高,确保每个正常商品都能被搜索;3。为了确保用户体验,商品信息变更(如价格、库存变化)实时要求高,导致更新量大,每日更新量为1000万;4.强烈的个性化需求,因为它是一个相对垂直的搜索领域,需要满足用户的个性化搜索意图。例如,用户搜索“小说”。有些用户想找到浪漫小说,有些人需要找到武术小说,有些人想找到鼓舞人心的小说。此外,不同人群的消费能力、性别、对配送时间的耐心、对促销的偏好以及对“风格”等属性的偏好、“材料”等偏好不同。此外,不同的人有消费能力、性别、对分销时间的耐心、对促销的偏好以及“风格”等属性、“材料”和其他偏好是不同的。这些都需要相对完善的用户肖像系统来提供支持。整体架构图搜索服务集群:由多个merger节点组成的集群。收到查询后,请求通过qp触发战略地下发送到在线搜索服务集群和其他服务集群,并合并排序每个服务的返回结果,然后调用detailserver包装结果,最终返回给用户。queryprocessorserver:搜索query意图识别服务。在线搜索服务集群:由多个searcher节点组成,每个searcher列对应一个小分片索引(包括全数据和实时增量数据)。detailserver:显示服务的搜索结果。索引生产端:包括全量和增量数据生产,为在线搜索服务集群提供全量索引和实时索引数据。由于商品数据分布在不同的异构数据库中,离线信息处理系统有KV相关数据库,因此需要将这些数据提取到京东搜索数据平台,分为全抽取和实时抽取。对于全索引,由于商品数据分布在多个系统的库表中,为了便于索引处理,多个系统的数据在商品维度上合并,生成商品宽表。然后在数据平台上,使用Mapreduce清理商品数据,然后进行离线业务逻辑处理,最终生成完整的索引数据。对于实时索引,为了保证数据的实时性,实时调用商品信息接口获取实时数据,将数据合并,采用类似于全索引的方法处理数据,生成增量索引数据。该系统是搜索技术的核心,在进入该系统之前,搜索信息仍然以商品维度存储。索引系统负责生成一种存储在关键字维度上的信息,通常称为倒排索引。该系统的全量和增量处理是一致的,唯一的区别在于待处理数据量的差异。一般来说,由于数据量大,全数据索引采用Hadop进行;实时数据量小,采用单机索引生产。搜索服务系统搜索服务系统是搜索真正接受用户请求并响应的系统。该系统最初只有一列searcher组成在线检索服务。由于用户体验的需要,首先增加QueryProcesor服务,负责查询意图分析,提高搜索准确性。随着访问量的增加,缓存模块增加,请求处理性能提高。然后,随着数据量(商品量)的增加,包装服务将独立于检索服务,成为detailserver服务。进一步增加数据量,对数据进行类似数据库分库分表的分片操作。此时,在线搜索服务由多个分片的searcher列组成。自然,需要一个merger服务来合并多个片段的结果。到目前为止,搜索基础服务系统已经完成。之后,无论是搜索量的增加还是数据量的增加,都可以通过扩展来满足。对于618、搜索量的增加,如111,可以通过增加每个searcher列服务器的数量来满足。对于商品数据的不断增加,只需要对数据进行更多的分片,并相应增加searcher列来满足。在此过程中,缓存模块和拉取结果模块非常稳定,搜索服务系统内部的处理流程如下。通常需要更改排序模块和在线业务逻辑处理模块。结构需要稳定、高效、通用。排序业务具有实验模型多、开发迭代速度快、效果强等特点。为了解决这一冲突,有必要将排名业务与架构分离,并将其动态链接库集成到搜索的整体架构中,包括文本策略和其他策略的相关性,文本策略的相关性集成在searcher中;其他策略相关性(包括反馈、个性化和业务权利调整等)集成在merger中。在不影响干扰的情况下,实现架构和排序业务各司其职。反馈和排序系统反馈系统主要包括实时收集和处理用户行为数据,将数据存储在数据市场中,并提取这些数据的特征。排序的主要在线指标是UV值和转化率,因此这些数据将被用来根据优化目标建立标记数据。然后,基于机器学习的排序系统将根据特征构建模型。JD.COM排名模型是训练前半年左右的数据,每天更新。京东搜索在模型排名的基础上,上层还将有一层规则引擎,如确保商店和品牌的多样性,以及通过商业引擎实现京东战略支持的品牌。一般来说,基于机器学习的排名模型需要长期投资,但模型更强大,不容易被作弊手段发现,可以不断提高转化率和紫外线价值。规则引擎主要是为了快速反应市场。对于双11的性能优化1。今年,搜索集群部署了三个机房。如果任何机房出现断网、断电等问题,流量可以在几秒钟内切换到其他机房。而且部分搜索应用部署在弹性云上,可以动态扩容。2.大促销期间索引数据实时更新。由于商品内容和其他信息的频繁变化,大促销涉及数千万的索引写作操作。今年,对索引结构进行了调整,彻底消除了索引更新中存在的所有锁定机制,将商品的新增和修改操作转变为链式更新。大促期间商品的索引更新达到了妙极。3.大促销期间的个性化搜索不会降级。前几年大促销期间,由于流量是平时的5倍以上,高峰流量会是平时的7倍。为了保证系统的稳定性,个性化搜索已经降级。今年对搜索缓存进行了有针对性的优化,实现了三级缓存结构。缓存和翻页缓存分别从底部计算为term缓存。顶层的翻页缓存通常会被用户的个性化请求击穿,但底层的相关缓存和term缓存的结果可以起到作用,以免使CPU负载过高。 京东在电子商务搜索方面的产品和技术创新1、个性化搜索之前的搜索对于同一个查询,不同用户看到的结果是完全相同的。这可能不符合所有用户的需求。这个问题在商品搜索中尤为突出。因为商品搜索用户可能特别喜欢某些品牌、价格和商店的商品。为了降低用户的筛选成本,他们需要根据用户的个性化显示搜索结果。个性化的第一步是建模用户和商品,第二步是服务模型。有了这两个步骤,当用户查询时,merger同时调用户模型服务和在线搜索服务,用户模型服务返回用户维度特征,在线搜索服务返回商品信息,排序模块使用这两部分数据重新排序结果,最后返回用户个性化结果。2、在使用搜索时,整合搜索用户的目的不仅是搜索商品,还可以查询服务、活动等信息。为了满足这种需求,首先在QueryProcesor中添加相应意图的识别。第二步是整合和服务一系列垂直搜索,如服务和活动。QP一旦识别出此类查询意图,就会将相应的结果返还给用户。3、情感搜索是为了尽可能地满足更多的搜索意图,这需要在后台建立一个强大的知识库系统。例如,从海上评论中挖掘有意义的标签“成像效果好的相机”、“聚集效果好的胸罩”、“适合送婆婆”等。,可以在索引中构建这些信息,比如搜索“适合送基友的礼物”,结合搜索意图分析相关结果。此外,还可以从外部网站获取有价值的信息,帮助构建知识库系统。4、很多时候,用户不知道如何描述一个商品。通过搜索意图分析,情感分析可以尽可能挖掘搜索意图,大多数时候用户无法描述,如在超市看到进口食品或时尚服装,可以通过照片搜索快速找到和比较价格,看到同事穿最喜欢的衣服也可以通过照片搜索找到。京东目前正在开展这方面的发展。在离线方面,图片主题提取、相似特征提取和相同特征提取主要通过CNN算法提取。引擎端主要是类似于搜索引擎的技术。图像搜索将在未来开辟一个新的电子商务购物入口。京东目前正在开发新的图像检索引擎。以上是对JD.COM商品搜索系统架构设计的详细讨论,希望对大家有所启发。
以上就是关于针对京东的商品搜索系统架构设计,进行详细探讨。的相关介绍,更多针对京东的商品搜索系统架构设计,进行详细探讨。相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对针对京东的商品搜索系统架构设计,进行详细探讨。有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一