29
企企企企企企企企企企企 Smith. 2008.3.26. 搜搜搜搜搜搜 .

腾讯大讲堂25 企业级搜索托管平台介绍

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 腾讯大讲堂25 企业级搜索托管平台介绍

企业级搜索托管平台介绍

Smith.

2008.3.26.

搜索技术中心 .

Page 2: 腾讯大讲堂25 企业级搜索托管平台介绍

目录 检索算法基础 搜索托管平台介绍 搜索托管平台展望

Page 3: 腾讯大讲堂25 企业级搜索托管平台介绍

第一部分 检索算法基础

基本概念 基本算法 算法难点

搜索托管平台介绍 搜索托管平台展望

Page 4: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 基本概念

正文数据库正文数据库正文数据库正文数据库

相关结果检索相关结果检索相关结果检索相关结果检索

请求 响应

检索格式化

DBDBDB

检索数据库检索数据库((倒排数据库倒排数据库 ))检索数据库检索数据库

((倒排数据库倒排数据库 ))

Page 5: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 基本概念名词:

Doc, 文档Word, 词Index Term, 索引项DocID, 文档 IDWordID, 词 IDInverted Index, 倒排Forward Sort, 顺排Broker, 代理Cache, 缓存(检索结果)Abstract, 摘要Query Keywords, 检索串

Page 6: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 基本概念 问题 1 :信息如何表示?

信息的来源? Qzone.qq.com SINA.COM QQ Mail … …

如何表示? 对于非结构化信息,需要进行抽取、整理,转换成格式化信息; 格式化信息还需要进行过滤,去除无用信息,去噪; 最后表示为格式化文档, DataSrc := { Doc } * ; Doc := {DocID,{Text Field}*, {Num Field}*}* ;

例如: DocID := 46233597118 ; Text Field := { Title: 我的博客 ,Text: 今天封闭开发开始了 , ……} ;

Num Field : = { 回复数 :108,QQ Rank: Lv3, …… };

Page 7: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 基本概念 问题 2 :倒排?

文档 内容

Doc1 …. 奥运会夺日程… .

Doc2 ….2008 奥运会日程… ..

Doc3 … 公司班车日程表…

。 。 。  

索引词 索引项 (intex term)

奥运会 <doc1><doc2>。。。

日程 <doc1><doc3>。。。

。。。 。。。

原始文档

倒排索引

倒排 (invert sorting)

Page 8: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 基本概念 问题 3 :检索?

奥运会

<d0,d1,d2…>

词典倒排文件

<d0,d1…>日程

奥运会日程

文档属性

Page 9: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 算法的分解 二分查找 HASH 查找 快速排序 窗口排序 多路归并 平衡树 B+Tree SkipList … …

多级索引算法 数值压缩 Bitmap 索引 路由分布算法 摘要提取算法 多级相关性排序算法 内存倒排算法

针对不同应用需求,选择简单、快速的算法;

Page 10: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 常用算法 问题 1: 存储?

GZip 压缩正文 , 减小文档大小; 通过路由算法进行分布式存储; 平滑扩容 , 通过少量数据的搬迁; DOCID 索引 + 顺序文件; 通过定期整理完成删除; 通过大小库完成数据的同步;

Page 11: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 常用算法 问题 2: 索引?

索引过程分为以下几步 切词 , 通过中文分词算法 ,

Doc:={word string}* ; 建立词典 ,HASH 或 顺序,完成文本到编码的转换 ;

Dict := {WordID, String}* ; 顺排 , 计算 Doc 内部的词的排序信

息, Doc:={WordID,pos,weight}* ; 倒排; WordID := {DocID,Weight,Pos}*;

Page 12: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 常用算法 问题 3: 检索?

获取用户的检索串; 对检索串进行分词; 将检索串分解为词的 and,or,not 关系的复合; 分别读出倒排,进行 and,or,not 的计算; 进行相关性排序,返回 top n 的结果给用户。

ORORANDAND ANDAND

下载下载腾讯腾讯 腾讯腾讯 搜索搜索

Page 13: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 常用算法 问题 4: CACHE ?

用户检索的几个特征 63% 的用户只浏览检索结果第一页; 96% 的用户只浏览检索结果前三页;

Cache 的对象 Search results Invert files Block

三级 cache Top 10000 热门查询放内存 cache; 余下的查询按照 LRU 策略放硬盘; 倒排 cache 策略;

Page 14: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 常用算法 问题 5: 排序?

文档的内部属性 词频、词性 位置、区域 格式、颜色

文档的外部属性 重要程度 重复度 引用数 URL 评论

文档的关系属性 Anchor Text Link 关系

文档的用户属性 用户 login 行为分

析 用户检索行为特征 用户的本地方信息

特征

Page 15: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 常用算法 问题 6: 压缩?

压缩的基本思想 :

以 Bit 作为存储的单位; 高频使用较短的位表示,低频使用较长的位表示; 有序整数序列,记录距离; 对于稀疏序列的压缩 ;

Page 16: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 常用算法 问题 7: 分布式?

文档分布,分解索引量的问题;

语素分布,分解检索计算量的问题;

Page 17: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 常用算法

doc

正文库

属性库

顺排库

倒排库

检索集群Cache代理集群

APACHE

Page 18: 腾讯大讲堂25 企业级搜索托管平台介绍

检索算法基础 - 算法难点 未来的一些挑战

硬件成本过高; 应对数据量激增; 排序的难度、个性化; 快速与精确的权衡; 新介质技术的应用; 个性化的搜索;

Page 19: 腾讯大讲堂25 企业级搜索托管平台介绍

第二部分 检索算法基础 搜索托管平台介绍

项目背景 平台介绍

搜索托管平台展望

Page 20: 腾讯大讲堂25 企业级搜索托管平台介绍

项目背景 支持 R线如下项目

X.qq.com 漩涡下载搜索系统 V.qq.com video视频搜索 Taotao.com 滔滔搜索 QQ client 消息搜索

支持互联网线如下项目 QZone qzone 博文搜索 QZone 个人档案搜索 QQ Show 商品搜索 QQ Photo 相册搜索 QQ Live 节目搜索 Paipai.com 商品检索

Page 21: 腾讯大讲堂25 企业级搜索托管平台介绍

项目背景-问题

问题问题

原因原因

办法办法

沟通成本沟通成本

1.1.尽可能减少沟通环节尽可能减少沟通环节 ;;

2.2.站在公司的角度统一规站在公司的角度统一规划各种专项搜索的实施节划各种专项搜索的实施节奏;奏;3.3.由一个团队来主要完成由一个团队来主要完成大部分事情,减少接口,大部分事情,减少接口,简化协议;简化协议;

1. 1. 部门间合作流程复杂,沟部门间合作流程复杂,沟通环节较多;通环节较多;2..2.. 问题解决的成本较高;问题解决的成本较高;3. 3. 大家理解问题的角度、背大家理解问题的角度、背景不一样,需求变化大。景不一样,需求变化大。

1. 1. 合并相同、类似需求合并相同、类似需求,在一个系统中加载多业,在一个系统中加载多业务数据;务数据;2.2.定期提供升级、优化的定期提供升级、优化的版本,提高用户体验;版本,提高用户体验;3. 3. 对对 Log,Log,数据源特征进数据源特征进行挖掘,迭代优化排序效行挖掘,迭代优化排序效果、检索特性。果、检索特性。4. 4. 对搜索相关服务质量对搜索相关服务质量(排序、速度、用户检索(排序、速度、用户检索LogLog与质量)的持续跟进与质量)的持续跟进;;

1.1.技术中心同事疲与应付技术中心同事疲与应付各种需求的变更;各种需求的变更;

2.2.排序、存储、速度、优排序、存储、速度、优化没有空隙时间去做;化没有空隙时间去做;

服务质量服务质量

1. 1. 没有简单的办法能彻没有简单的办法能彻底避免工作量,但统一存底避免工作量,但统一存储、计算、提供能大大缩储、计算、提供能大大缩减开发工作量;减开发工作量;2. 2. 尽可能复用尽可能复用 OMOM系统,系统,这些小系统有很大的相似这些小系统有很大的相似度;度;3. 3. 稳定、复用核心算法稳定、复用核心算法,花少部分人力解决维护,花少部分人力解决维护、算法中相似但不相同的、算法中相似但不相同的细节问题;细节问题;

1.1.数据源没有集中存储,数据源没有集中存储,变更不可控,带来额外工变更不可控,带来额外工作量;作量;2.2.系统复用度低;系统复用度低;3. 3. 周边的小系统太多;周边的小系统太多;

工作量工作量

1. 1. 针对一些搜索服务,硬针对一些搜索服务,硬件资源可以复用;件资源可以复用;2. 2. 周边的周边的 OMOM系统,可以系统,可以搭建好平台提供给多个业搭建好平台提供给多个业务使用;务使用;3. 3. 从平台系统的角度对架从平台系统的角度对架构与资源进行优化,减少构与资源进行优化,减少硬件资源的使用,降低硬件资源的使用,降低TCOTCO成本。成本。

1.1.一些搜索数据量、一些搜索数据量、 PVPV较较低的业务,还有一些辅助低的业务,还有一些辅助系统占有了较多服务器;系统占有了较多服务器;2. 2. 备份、容灾系统的冗余备份、容灾系统的冗余太多;太多;

硬件成本硬件成本

Page 22: 腾讯大讲堂25 企业级搜索托管平台介绍

搜索托管平台介绍

检索服务托管检索服务托管检索服务托管检索服务托管

数据存储托管数据存储托管数据存储托管数据存储托管

服务升级托管服务升级托管服务升级托管服务升级托管

维护、更新托管维护、更新托管维护、更新托管维护、更新托管

提供提供 XMLXML 检索协议接口;检索协议接口;直接提供直接提供 CGICGI服务;服务;提供提供 XMLXML 检索协议接口;检索协议接口;直接提供直接提供 CGICGI服务;服务;

建立多业务可复用的运营、维护平台;建立多业务可复用的运营、维护平台;解决日志分析问题、内容安全等问题;解决日志分析问题、内容安全等问题;建立多业务可复用的运营、维护平台;建立多业务可复用的运营、维护平台;解决日志分析问题、内容安全等问题;解决日志分析问题、内容安全等问题;

检索服务统一升级,提供更多实用、简单的特性;检索服务统一升级,提供更多实用、简单的特性;提供检索提供检索 loglog 数据分析服务、界面;数据分析服务、界面;检索服务统一升级,提供更多实用、简单的特性;检索服务统一升级,提供更多实用、简单的特性;提供检索提供检索 loglog 数据分析服务、界面;数据分析服务、界面;

提供类提供类 XMLXML协议接口、协议接口、 pingping 协议接口;协议接口;提供文本数据存储、状态数据更新等接口;提供文本数据存储、状态数据更新等接口;提供类提供类 XMLXML协议接口、协议接口、 pingping 协议接口;协议接口;提供文本数据存储、状态数据更新等接口;提供文本数据存储、状态数据更新等接口;

Page 23: 腾讯大讲堂25 企业级搜索托管平台介绍

搜索托管平台介绍专项搜索托管平台架构图

倒排数据

摘要数据

SBU0

SBU1

SBUN

GBU

CAU

IFU

ISU/IOU/SU/ASU

预处理

ICULCU CCU

预处理服务器

数据中心

运营中心

索引检索中心

SMU

策略中心

通过导入协议把源数据导入

提供检索服务,XML接

Page 24: 腾讯大讲堂25 企业级搜索托管平台介绍

搜索托管平台介绍

服务控制单元服务控制单元

索引、加载单元索引、加载单元

协议接口控制单元协议接口控制单元

CacheCache代理单元代理单元

数据存储单元

数据存储单元

分布式检索单元分布式检索单元 内存检索单元内存检索单元

主要功能单元分析主要功能单元分析

日志分析单元

日志分析单元

运营维护单元

运营维护单元

Page 25: 腾讯大讲堂25 企业级搜索托管平台介绍

第三部分 检索算法基础 搜索托管平台介绍 搜索托管平台展望

Page 26: 腾讯大讲堂25 企业级搜索托管平台介绍

搜索托管平台展望 -流程

收集需求 托管支持

统一维护排序改进

Page 27: 腾讯大讲堂25 企业级搜索托管平台介绍

搜索托管平台展望 -流程

新需求开发

维护与支持

服务质量改进

服务、运营质量改进

维护与支持

新需求开发

Page 28: 腾讯大讲堂25 企业级搜索托管平台介绍

搜索托管平台展望 - 计划

以托管的方式继续支持公司内新的专项搜索项目,群搜索, QZone 搜索 2.0,新版video 搜索,新版漩涡搜索。

托管平台 1.0设计、部分开发完成。重点是运营维护单元、数据存储单元、协议接口单元。

托管平台运维质量控制流程、新项目开发流程、新特性升级等接口流程实践。

团队建设:补充相应的前台开发、后台开发、日志分析、系统运维人员。

平台 2.0版本设计与开发 . 重点是排序优化,日志的挖掘,与应用系统接口的简化等。

为 paipai等关键重要业务提供健壮的搜索提供托管式检索服务。

开始对腾讯内部重点数据进行分析、整理,为网页搜索补充腾讯内部各重点数据。

Q1-Q2Q1-Q2 Q3Q3 Q4Q4

完成现有主要支持项目到到托管平台的迁移。

托管平台 1.0全部开发测试完成。包括通用的内外存索引、检索单元,排序单元。

托管平台各项工作流程规范化。

开始研究与采用 Login 后检索的体验 , 进行用户行为分析,包括有商业价值的数据与流量的分析。

Page 29: 腾讯大讲堂25 企业级搜索托管平台介绍

谢谢各位谢谢各位