投诉网站制作,wordpress 伪静态html,网络营销推广专员主要工作内容,可以做旅行行程的网站搜索是很多用户在天猫购物时的第一入口#xff0c;搜索结果会根据销量、库存、人气对商品进行排序#xff0c;而商品的显示顺序往往会决定用户的选择#xff0c;所以保证搜索结果的实时性和准确性非常重要。在电商系统中#xff0c;特别是在“双十一”这样的高并发场景下搜索结果会根据销量、库存、人气对商品进行排序而商品的显示顺序往往会决定用户的选择所以保证搜索结果的实时性和准确性非常重要。在电商系统中特别是在“双十一”这样的高并发场景下如何准确展示搜索结果显得尤为重要。在今年的“双十一”活动中InfoQ有幸采访到了阿里巴巴集团搜索引擎的三位负责人仁基、桂南和悾傅与他们共同探讨了搜索引擎背后的细节。以下内容根据本次采访整理而成。 阿里巴巴的搜索引擎承担着全集团的搜索业务包括淘宝、天猫、1688等系统对比传统的搜索引擎阿里集团的搜索引擎有一些比较大的突破性、创造性的工作。传统的搜索引擎只可以做到离线全量、增量构建索引而阿里的搜索引擎已经是演变成为一个能够做到离线、增量、实时三个等级的搜索引擎。电商平台最大的一个特点就是短时高并发像双十一这样的活动中搜索引擎需要考虑如何让流量发挥更大的价值。传统的搜索引擎解决短时高并发的思路是添加缓存层以减少搜索引擎的访问量而这样的解决方案天猫之前也有使用但是缓存会有延迟实时搜索的需求根本无法满足。所以为了解决实时的问题阿里的搜索引擎去掉了应用层和业务层的缓存重点优化和提升引擎层的服务能力。为了兼顾实时性和吞吐量搜索引擎实现了全量、增量、实时三种更新通路。通过三种方式的灵活组合在保证了海量数据定期全量更新的同时提供了秒级实时更新能力避免了数据延迟提升了用户体验。 系统架构 从整体上来看阿里搜索引擎的架构图如下。从上到下分别是应用层、业务层、搜索引擎层、离线处理层和DB层应用层其实就是调用方大的来看可以分为Web、App、Wap。业务层会针对相应的业务对搜索结果进行整理如Android和iOS的搜索结果显示是不一样的。搜索引擎层有点类似传统系统的搜索引擎阿里巴巴的搜索引擎会在搜索的基础上根据用户习惯提供个性化的搜索结果。索引层主要包括全量索引和流式计算全量索引其实就是一个基于Hadoop/Hbase的离线集群而流式计算是阿里自己研发的一套系统。之所以没有选用Storm是因为在这一层中光有计算是不够的还需要有数据的存储开源解决方案HBase。如果使用Storm接下来会面临一个问题Storm是一个集群HBase又会是一个集群这样Storm的Disk以及HBase的CPU其实都没有充分利用到所以阿里的方案是Hadoop Yarn与HBase混合部署把两个集群合并在一起既可以做大规模的数据处理也可以做流式计算通过这样的方式可以将离线和实时计算更好地融合。最底层的数据源层会把用户、商品、交易信息同步到上层的HBase集群中。 流式计算 Storm是一个无状态的流式计算框架而无状态的流式计算体系更适合做简单的统计分析比如针对成交维度或者点击维度做计数。而阿里自研的流式计算框架iStream已经不再是简单的、无状态的流式计算概念。iStream借助HBase集群存储用户状态以完成一些相对复杂的模型的计算。同时模型的计算结果可以通过相应的接口直接推送到上层的搜索引擎中以服务每一条流量的排序变化。 排序链 在搜索引擎层不仅包括商品的搜索引擎还会包括其它层面的服务如架构图所示。商品搜索引擎中包含商品、店铺、活动等维度的信息而图中的个性化服务旨在为用户提供个性化的搜索体验个性化服务会根据用户的实时行为反馈搜索结果。而QPQuery Planner会对用户的搜索请求进行分析搜索词、搜索场景、页面进一步个性化搜索服务。在搜索引擎层通过这三个系统的互相配合为上层的业务层提供个性化的搜索数据。 不同的业务对应的搜索排序结果不同阿里搜索引擎中排序部分是通过类似链式处理的方式实现的内部称为排序链。排序链是由不同的用户特征对应的算法插件组合而成算法插件是单独存在的可以根据具体情况组合到不同业务的排序链中。目前在线上运行的排序链有几十条系统会根据不同的业务、用户、场景、Query选择不同的排序逻辑 双十一优化 而在双十一这样的高并发活动中搜索引擎需要保证流量的合理分配比如搜索结果中不能显示售罄的商品。但是对于一些热门商品从库存充足到售罄可能是几分钟的时间。为了保证搜索结果的实时性阿里搜索引擎架构针对这样的场景做了优化去掉了不能感知业务变化的缓存业务层重点优化搜索引擎层的缓存。以商品售罄的场景为例当商品售罄时业务系统会发送异步消息通知离线集群离线集群通过流式计算将更新同步到引擎而当引擎返回搜索结果时会在缓存的基础上对结果进行二次过滤从而保证搜索结果的实时性和准确性。 另外在今年双十一中天猫搜索底层第一次使用精确到更新粒度的SKUStock Keeping Unit引擎代替之前的宝贝引擎底层引擎索引量较之前翻了几番。天猫从召回逻辑、前端的属性展示、筛选以及搜索结果页到详情页的联动向用户提供了精确度更高、更细致的搜索购物体验。对于标类产品基于SKU引擎的搜索导购缩短了用户的搜索购物路径比如搜索iPhone 5s后SKU引擎会显示对应的销售属性方便用户选择。此外在SKU引擎的基础上天猫还实现了用户的尺码个性化在包含确定尺码信息的类目中如鞋、文胸天猫可以匹配用户的尺码个性化信息将适合的商品优先展示给用户。InfoQ会在后续文章中与相关技术专家剖析sku引擎的设计思路与实现敬请期待转载于:https://www.cnblogs.com/sunxueyang222/p/6386555.html