阿里巴巴B2B搜索学习

1.搜索业务

主搜索:商品搜索、商家搜索、采购搜索、app搜索
行业搜索:淘货源、淘工厂、聚好货、主题市场、品牌馆等

2.优势

由于用户多,需求强烈,收益大,所以功能、场景、架构做到极致高效。
  • 代码复用性强:基础通用功能进行组件抽象化
  • 组件通用性好:一些组件或者组件进行组合的服务,适用更多场景,支持更多功能
  • 转化效果好:算法做的比较深入、细致

3.搜索技术架构

架构分为三部分:离线、实时、在线。

离线

  • NLP文本分析:Natural Language Processing,基于自然语言处理进行文本分析,提取特征
  • ODPS-MPI:Open Data Processing Service,阿里自己开发的开发数据处理服务,也就是基于Hadoop/MapReduce来跑大数据量的任务,进行机器学习、数据挖掘等工作
  • ODPS-UNIV:理解应该是一个web平台,来管理复用计算模块、计算任务,如任务调度,输入输出的设置,模块复用等
  • Dump平台:Universe数据中心生成的离线索引,通过dump平台传到线上搜索引擎

实时

实时部分针对用户行为进行处理反馈,实现个性化
  • Pora平台用户实时分析:基于Storm的流式计算平台,通过用户行为进行实时收集和分析,及时更新用户特征
  • Antispam平台内容分析:更新offer特征(offer就是一条返回内容,可以是一个商家、或者一个商品),像标题、交易状态发生变化时重新计算offer的特征,通过dump平台的增量流程,将数据更新到线上搜索引擎
  • TT实时数据源:淘宝研发的日志收集和分发系统–TimeTunnel

在线

在线搜索引擎接收线上请求,返回排序结果。
  • SP查询计划:search plane,将查询请求分发给各个平台,对各平台返回结果进行拼串
  • QP平台:Query Parse
  • Ups平台:猜测是User parse service,获取用户特征
  • Isearch平台:搜索引擎,维护索引,接收query,匹配文档,返回结果


4.Query分析

query分析很重要,能更精确的返回用户需要的结果。流程有:
  • 拼写纠错
  • 分词、属性标注
  • 语义归一:同义词标准化
  • 分类:query意图分类,如是搜商家的、或者是泛查询、或者是搜商品
  • 聚类:我理解是用于query扩展,对长尾query给出与其相关更精确的query,扩大召回,提高准确率
  • 个性化:用户历史行为的使用
用到query分析的产品很多,开发就使用了上文提到的代码组件化、功能通用化的思想,如下图,基本小功能模块化,小模块组合成较大的模块,支持不同的应用。



后面的应用场景就不再记录了。

学习资料

http://www.infoq.com/cn/presentations/b2b-search-field-algorithm-challenges
http://www.aliyun.com/product/odps/
http://www.searchtb.com/2012/11/pora.html
原文地址:https://www.cnblogs.com/whuqin/p/4981957.html