主搜索:商品搜索、商家搜索、采购搜索、app搜索
行业搜索:淘货源、淘工厂、聚好货、主题市场、品牌馆等
由于用户多,需求强烈,收益大,所以功能、场景、架构做到极致高效。
- 代码复用性强:基础通用功能进行组件抽象化
- 组件通用性好:一些组件或者组件进行组合的服务,适用更多场景,支持更多功能
- 转化效果好:算法做的比较深入、细致
架构分为三部分:离线、实时、在线。
离线
- 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,匹配文档,返回结果
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