企业级搜索托管平台介绍 Smith. 2008.3.26. 搜索技术中心 .
目录 <ul><li>检索算法基础 </li></ul><ul><li>搜索托管平台介绍 </li></ul><ul><li>搜索托管平台展望 </li></ul>
第一部分 <ul><li>检索算法基础 </li></ul><ul><ul><li>基本概念 </li></ul></ul><ul><ul><li>基本算法 </li></ul></ul><ul><ul><li>算法难点 </li></ul><...
检索算法基础 - 基本概念 正文数据库 相关结果检索 响应 检索 格式化 DB DB DB 检索数据库 ( 倒排数据库 ) 请求
检索算法基础 - 基本概念 <ul><ul><li>名词: </li></ul></ul><ul><ul><ul><li>Doc , 文档 </li></ul></ul></ul><ul><ul><ul><li>Word, 词 </li></u...
检索算法基础 - 基本概念 <ul><li>问题 1 :信息如何表示? </li></ul><ul><ul><li>信息的来源? </li></ul></ul><ul><ul><ul><li>Qzone.qq.com </li></ul></u...
检索算法基础 - 基本概念 <ul><li>问题 2 :倒排? </li></ul>原始文档 倒排索引 倒排 (invert sorting) 文档 内容 Doc1 … . 奥运会夺日程… . Doc2 … . 2008 奥运会日程… .. D...
检索算法基础 - 基本概念 <ul><li>问题 3 :检索? </li></ul>奥运会 <d0,d1,d2…> 词典 倒排文件 <d0,d1…> 日程 ②  ③  奥运会日程 ①  ④  ∧  文档属性
检索算法基础 - 算法的分解 <ul><li>二分查找 </li></ul><ul><li>HASH 查找 </li></ul><ul><li>快速排序 </li></ul><ul><li>窗口排序 </li></ul><ul><li>多路归并...
检索算法基础 - 常用算法 <ul><ul><li>问题 1:  存储? </li></ul></ul><ul><ul><ul><li>GZip 压缩正文 , 减小文档大小; </li></ul></ul></ul><ul><ul><ul><l...
检索算法基础 - 常用算法 <ul><ul><li>问题 2:  索引? </li></ul></ul><ul><ul><ul><li>索引过程分为以下几步 </li></ul></ul></ul><ul><ul><ul><ul><li>切词 ...
检索算法基础 - 常用算法 <ul><ul><li>问题 3:  检索? </li></ul></ul><ul><ul><ul><li>获取用户的检索串; </li></ul></ul></ul><ul><ul><ul><li>对检索串进行分词...
检索算法基础 - 常用算法 <ul><ul><li>问题 4: CACHE ? </li></ul></ul><ul><ul><ul><li>用户检索的几个特征 </li></ul></ul></ul><ul><ul><ul><ul><li>6...
检索算法基础 - 常用算法 <ul><ul><li>问题 5:  排序? </li></ul></ul><ul><ul><ul><li>文档的内部属性 </li></ul></ul></ul><ul><ul><ul><ul><li>词频、词性 ...
检索算法基础 - 常用算法 <ul><ul><li>问题 6:  压缩? </li></ul></ul><ul><ul><li>压缩的基本思想 : </li></ul></ul><ul><ul><ul><ul><li>以 Bit 作为存储的单位...
检索算法基础 - 常用算法 <ul><ul><li>问题 7:  分布式? </li></ul></ul><ul><ul><li>文档分布,分解索引量的问题; </li></ul></ul><ul><ul><li>语素分布,分解检索计算量的问题...
检索算法基础 - 常用算法 正文库 属性库 顺排库 倒排库 检索集群 Cache 代理集群 APACHE doc
检索算法基础 - 算法难点 <ul><ul><li>未来的一些挑战 </li></ul></ul><ul><ul><ul><li>硬件成本过高; </li></ul></ul></ul><ul><ul><ul><li>应对数据量激增; </li...
第二部分 <ul><li>检索算法基础 </li></ul><ul><li>搜索托管平台介绍 </li></ul><ul><ul><li>项目背景 </li></ul></ul><ul><ul><li>平台介绍 </li></ul></ul><...
项目背景 <ul><li>支持 R 线如下项目 </li></ul><ul><ul><li>X.qq.com 漩涡下载搜索系统 </li></ul></ul><ul><ul><li>V.qq.com video 视频搜索 </li></ul><...
项目背景-问题 问题 原因 办法 沟通成本 1. 尽可能减少沟通环节 ; 2. 站在公司的角度统一规划各种专项搜索的实施节奏; 3. 由一个团队来主要完成大部分事情,减少接口,简化协议; 1.  部门间合作流程复杂,沟通环节较多; 2..  问...
搜索托管平台介绍 检索服务托管 数据存储托管 服务升级托管 维护、更新托管 <ul><li>提供 XML 检索协议接口; </li></ul><ul><li>直接提供 CGI 服务; </li></ul><ul><li>建立多业务可复用的运营、...
搜索托管平台介绍
搜索托管平台介绍 服务控制单元 索引、加载单元 协议接口控制单元 Cache 代理单元 数据存储单元 分布式检索单元 内存检索单元 主要功能单元分析 日志分析单元 运营维护单元
第三部分 <ul><li>检索算法基础 </li></ul><ul><li>搜索托管平台介绍 </li></ul><ul><li>搜索托管平台展望 </li></ul>
搜索托管平台展望 - 流程 收集需求 托管支持 统一维护 排序改进
搜索托管平台展望 - 流程 新需求开发 维护与支持 服务 质量改进 服务、运营质量改进 维护与支持 新需求 开发
搜索托管平台展望 - 计划 <ul><ul><li>以托管的方式继续支持公司内新的专项搜索项目,群搜索, QZone 搜索 2.0, 新版 video 搜索,新版漩涡搜索。 </li></ul></ul><ul><ul><li>托管平台 1.0...
谢谢各位 
Upcoming SlideShare
Loading in...5
×

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

2,364

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,364
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
610
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. 企业级搜索托管平台介绍 Smith. 2008.3.26. 搜索技术中心 .
  2. 2. 目录 <ul><li>检索算法基础 </li></ul><ul><li>搜索托管平台介绍 </li></ul><ul><li>搜索托管平台展望 </li></ul>
  3. 3. 第一部分 <ul><li>检索算法基础 </li></ul><ul><ul><li>基本概念 </li></ul></ul><ul><ul><li>基本算法 </li></ul></ul><ul><ul><li>算法难点 </li></ul></ul><ul><li>搜索托管平台介绍 </li></ul><ul><li>搜索托管平台展望 </li></ul>
  4. 4. 检索算法基础 - 基本概念 正文数据库 相关结果检索 响应 检索 格式化 DB DB DB 检索数据库 ( 倒排数据库 ) 请求
  5. 5. 检索算法基础 - 基本概念 <ul><ul><li>名词: </li></ul></ul><ul><ul><ul><li>Doc , 文档 </li></ul></ul></ul><ul><ul><ul><li>Word, 词 </li></ul></ul></ul><ul><ul><ul><li>Index Term, 索引项 </li></ul></ul></ul><ul><ul><ul><li>DocID, 文档 ID </li></ul></ul></ul><ul><ul><ul><li>WordID, 词 ID </li></ul></ul></ul><ul><ul><ul><li>Inverted Index, 倒排 </li></ul></ul></ul><ul><ul><ul><li>Forward Sort, 顺排 </li></ul></ul></ul><ul><ul><ul><li>Broker, 代理 </li></ul></ul></ul><ul><ul><ul><li>Cache, 缓存(检索结果) </li></ul></ul></ul><ul><ul><ul><li>Abstract, 摘要 </li></ul></ul></ul><ul><ul><ul><li>Query Keywords, 检索串 </li></ul></ul></ul>
  6. 6. 检索算法基础 - 基本概念 <ul><li>问题 1 :信息如何表示? </li></ul><ul><ul><li>信息的来源? </li></ul></ul><ul><ul><ul><li>Qzone.qq.com </li></ul></ul></ul><ul><ul><ul><li>SINA.COM </li></ul></ul></ul><ul><ul><ul><li>QQ Mail </li></ul></ul></ul><ul><ul><ul><li>… … </li></ul></ul></ul><ul><ul><li>如何表示? </li></ul></ul><ul><ul><ul><li>对于非结构化信息,需要进行 抽取 、整理,转换成格式化信息; </li></ul></ul></ul><ul><ul><ul><li>格式化信息还需要进行过滤,去除无用信息, 去噪 ; </li></ul></ul></ul><ul><ul><ul><li>最后表示为 格式化文档 , </li></ul></ul></ul><ul><ul><ul><li>DataSrc := { Doc } * ; </li></ul></ul></ul><ul><ul><ul><li>Doc := {DocID,{Text Field}*, {Num Field}*}* ; </li></ul></ul></ul><ul><ul><ul><li>例如: </li></ul></ul></ul><ul><ul><ul><ul><li>DocID := 46233597118 ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Text Field := { Title: 我的博客 ,Text: 今天封闭开发开始了 , …… } ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li> Num Field : = { 回复数 :108,QQ Rank: Lv3, …… }; </li></ul></ul></ul></ul>
  7. 7. 检索算法基础 - 基本概念 <ul><li>问题 2 :倒排? </li></ul>原始文档 倒排索引 倒排 (invert sorting) 文档 内容 Doc1 … . 奥运会夺日程… . Doc2 … . 2008 奥运会日程… .. Doc3 … 公司班车日程表… 。。。   索引词 索引项 (intex term) 奥运会 <doc1><doc2> 。。。 日程 <doc1><doc3> 。。。 。。。 。。。
  8. 8. 检索算法基础 - 基本概念 <ul><li>问题 3 :检索? </li></ul>奥运会 <d0,d1,d2…> 词典 倒排文件 <d0,d1…> 日程 ② ③ 奥运会日程 ① ④ ∧ 文档属性
  9. 9. 检索算法基础 - 算法的分解 <ul><li>二分查找 </li></ul><ul><li>HASH 查找 </li></ul><ul><li>快速排序 </li></ul><ul><li>窗口排序 </li></ul><ul><li>多路归并 </li></ul><ul><li>平衡树 </li></ul><ul><li>B+Tree </li></ul><ul><li>SkipList </li></ul><ul><li>… … </li></ul><ul><li>多级索引算法 </li></ul><ul><li>数值压缩 </li></ul><ul><li>Bitmap 索引 </li></ul><ul><li>路由分布算法 </li></ul><ul><li>摘要提取算法 </li></ul><ul><li>多级相关性排序算法 </li></ul><ul><li>内存倒排算法 </li></ul>针对不同应用需求,选择简单、快速的算法;
  10. 10. 检索算法基础 - 常用算法 <ul><ul><li>问题 1: 存储? </li></ul></ul><ul><ul><ul><li>GZip 压缩正文 , 减小文档大小; </li></ul></ul></ul><ul><ul><ul><li>通过路由算法进行分布式存储; </li></ul></ul></ul><ul><ul><ul><li>平滑扩容 , 通过少量数据的搬迁; </li></ul></ul></ul><ul><ul><ul><li>DOCID 索引 + 顺序文件; </li></ul></ul></ul><ul><ul><ul><li>通过定期整理完成删除; </li></ul></ul></ul><ul><ul><ul><li>通过大小库完成数据的同步; </li></ul></ul></ul>
  11. 11. 检索算法基础 - 常用算法 <ul><ul><li>问题 2: 索引? </li></ul></ul><ul><ul><ul><li>索引过程分为以下几步 </li></ul></ul></ul><ul><ul><ul><ul><li>切词 , 通过中文分词算法 , </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Doc:={word string}* ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>建立词典 ,HASH 或 顺序,完成文本到编码的转换 ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Dict := {WordID, String}* ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>顺排 , 计算 Doc 内部的词的排序信息, Doc:={WordID,pos,weight}* ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>倒排; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>WordID := {DocID,Weight,Pos}*; </li></ul></ul></ul></ul>
  12. 12. 检索算法基础 - 常用算法 <ul><ul><li>问题 3: 检索? </li></ul></ul><ul><ul><ul><li>获取用户的检索串; </li></ul></ul></ul><ul><ul><ul><li>对检索串进行分词; </li></ul></ul></ul><ul><ul><ul><li>将检索串分解为词的 and,or,not 关系的复合; </li></ul></ul></ul><ul><ul><ul><li>分别读出倒排,进行 and,or,not 的计算; </li></ul></ul></ul><ul><ul><ul><li>进行相关性排序,返回 top n 的结果给用户。 </li></ul></ul></ul>OR AND AND 下载 腾讯 腾讯 搜索
  13. 13. 检索算法基础 - 常用算法 <ul><ul><li>问题 4: CACHE ? </li></ul></ul><ul><ul><ul><li>用户检索的几个特征 </li></ul></ul></ul><ul><ul><ul><ul><li>63% 的用户只浏览检索结果第一页; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>96% 的用户只浏览检索结果前三页; </li></ul></ul></ul></ul><ul><ul><ul><li>Cache 的对象 </li></ul></ul></ul><ul><ul><ul><ul><li>Search results </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Invert files Block </li></ul></ul></ul></ul><ul><ul><ul><li>三级 cache </li></ul></ul></ul><ul><ul><ul><ul><li>Top 10000 热门查询放内存 cache; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>余下的查询按照 LRU 策略放硬盘; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>倒排 cache 策略; </li></ul></ul></ul></ul>
  14. 14. 检索算法基础 - 常用算法 <ul><ul><li>问题 5: 排序? </li></ul></ul><ul><ul><ul><li>文档的内部属性 </li></ul></ul></ul><ul><ul><ul><ul><li>词频、词性 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>位置、区域 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>格式、颜色 </li></ul></ul></ul></ul><ul><ul><ul><li>文档的外部属性 </li></ul></ul></ul><ul><ul><ul><ul><li>重要程度 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>重复度 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>引用数 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>URL </li></ul></ul></ul></ul><ul><ul><ul><ul><li>评论 </li></ul></ul></ul></ul><ul><ul><ul><li>文档的关系属性 </li></ul></ul></ul><ul><ul><ul><ul><li>Anchor Text </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Link 关系 </li></ul></ul></ul></ul><ul><ul><ul><li>文档的用户属性 </li></ul></ul></ul><ul><ul><ul><ul><li>用户 login 行为分析 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>用户检索行为特征 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>用户的本地方信息特征 </li></ul></ul></ul></ul>
  15. 15. 检索算法基础 - 常用算法 <ul><ul><li>问题 6: 压缩? </li></ul></ul><ul><ul><li>压缩的基本思想 : </li></ul></ul><ul><ul><ul><ul><li>以 Bit 作为存储的单位; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>高频使用较短的位表示,低频使用较长的位表示; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>有序整数序列,记录距离; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>对于稀疏序列的压缩 ; </li></ul></ul></ul></ul>
  16. 16. 检索算法基础 - 常用算法 <ul><ul><li>问题 7: 分布式? </li></ul></ul><ul><ul><li>文档分布,分解索引量的问题; </li></ul></ul><ul><ul><li>语素分布,分解检索计算量的问题; </li></ul></ul>
  17. 17. 检索算法基础 - 常用算法 正文库 属性库 顺排库 倒排库 检索集群 Cache 代理集群 APACHE doc
  18. 18. 检索算法基础 - 算法难点 <ul><ul><li>未来的一些挑战 </li></ul></ul><ul><ul><ul><li>硬件成本过高; </li></ul></ul></ul><ul><ul><ul><li>应对数据量激增; </li></ul></ul></ul><ul><ul><ul><li>排序的难度、个性化; </li></ul></ul></ul><ul><ul><ul><li>快速与精确的权衡; </li></ul></ul></ul><ul><ul><ul><li>新介质技术的应用; </li></ul></ul></ul><ul><ul><ul><li>个性化的搜索; </li></ul></ul></ul>
  19. 19. 第二部分 <ul><li>检索算法基础 </li></ul><ul><li>搜索托管平台介绍 </li></ul><ul><ul><li>项目背景 </li></ul></ul><ul><ul><li>平台介绍 </li></ul></ul><ul><li>搜索托管平台展望 </li></ul>
  20. 20. 项目背景 <ul><li>支持 R 线如下项目 </li></ul><ul><ul><li>X.qq.com 漩涡下载搜索系统 </li></ul></ul><ul><ul><li>V.qq.com video 视频搜索 </li></ul></ul><ul><ul><li>Taotao.com 滔滔搜索 </li></ul></ul><ul><ul><li>QQ client 消息搜索 </li></ul></ul><ul><li>支持互联网线如下项目 </li></ul><ul><ul><li>QZone qzone 博文搜索 </li></ul></ul><ul><ul><li>QZone 个人档案搜索 </li></ul></ul><ul><ul><li>QQ Show 商品搜索 </li></ul></ul><ul><ul><li>QQ Photo 相册搜索 </li></ul></ul><ul><ul><li>QQ Live 节目搜索 </li></ul></ul><ul><ul><li>Paipai.com 商品检索 </li></ul></ul>
  21. 21. 项目背景-问题 问题 原因 办法 沟通成本 1. 尽可能减少沟通环节 ; 2. 站在公司的角度统一规划各种专项搜索的实施节奏; 3. 由一个团队来主要完成大部分事情,减少接口,简化协议; 1. 部门间合作流程复杂,沟通环节较多; 2.. 问题解决的成本较高; 3. 大家理解问题的角度、背景不一样,需求变化大。 1. 合并相同、类似需求,在一个系统中加载多业务数据; 2. 定期提供升级、优化的版本,提高用户体验; 3. 对 Log, 数据源特征进行挖掘,迭代优化排序效果、检索特性。 4. 对搜索相关服务质量(排序、速度、用户检索 Log 与质量)的持续跟进; 1. 技术中心同事疲与应付各种需求的变更; 2. 排序、存储、速度、优化没有空隙时间去做; 服务质量 1. 没有简单的办法能彻底避免工作量,但统一存储、计算、提供能大大缩减开发工作量; 2. 尽可能复用 OM 系统,这些小系统有很大的相似度; 3. 稳定、复用核心算法,花少部分人力解决维护、算法中相似但不相同的细节问题; 1. 数据源没有集中存储,变更不可控,带来额外工作量; 2. 系统复用度低; 3. 周边的小系统太多; 工作量 1. 针对一些搜索服务,硬件资源可以复用; 2. 周边的 OM 系统,可以搭建好平台提供给多个业务使用; 3. 从平台系统的角度对架构与资源进行优化,减少硬件资源的使用,降低 TCO 成本。 1. 一些搜索数据量、 PV 较低的业务,还有一些辅助系统占有了较多服务器; 2. 备份、容灾系统的冗余太多; 硬件成本
  22. 22. 搜索托管平台介绍 检索服务托管 数据存储托管 服务升级托管 维护、更新托管 <ul><li>提供 XML 检索协议接口; </li></ul><ul><li>直接提供 CGI 服务; </li></ul><ul><li>建立多业务可复用的运营、维护平台; </li></ul><ul><li>解决日志分析问题、内容安全等问题; </li></ul><ul><li>检索服务统一升级,提供更多实用、简单的特性; </li></ul><ul><li>提供检索 log 数据分析服务、界面; </li></ul><ul><li>提供类 XML 协议接口、 ping 协议接口; </li></ul><ul><li>提供文本数据存储、状态数据更新等接口; </li></ul>
  23. 23. 搜索托管平台介绍
  24. 24. 搜索托管平台介绍 服务控制单元 索引、加载单元 协议接口控制单元 Cache 代理单元 数据存储单元 分布式检索单元 内存检索单元 主要功能单元分析 日志分析单元 运营维护单元
  25. 25. 第三部分 <ul><li>检索算法基础 </li></ul><ul><li>搜索托管平台介绍 </li></ul><ul><li>搜索托管平台展望 </li></ul>
  26. 26. 搜索托管平台展望 - 流程 收集需求 托管支持 统一维护 排序改进
  27. 27. 搜索托管平台展望 - 流程 新需求开发 维护与支持 服务 质量改进 服务、运营质量改进 维护与支持 新需求 开发
  28. 28. 搜索托管平台展望 - 计划 <ul><ul><li>以托管的方式继续支持公司内新的专项搜索项目,群搜索, QZone 搜索 2.0, 新版 video 搜索,新版漩涡搜索。 </li></ul></ul><ul><ul><li>托管平台 1.0 设计、部分开发完成。重点是运营维护单元、数据存储单元、协议接口单元。 </li></ul></ul><ul><ul><li>托管平台运维质量控制流程、新项目开发流程、新特性升级等接口流程实践。 </li></ul></ul><ul><ul><li>团队建设:补充相应的前台开发、后台开发、日志分析、系统运维人员。 </li></ul></ul><ul><ul><li>平台 2.0 版本设计与开发 . 重点是排序优化,日志的挖掘,与应用系统接口的简化等。 </li></ul></ul><ul><ul><li>为 paipai 等关键重要业务提供健壮的搜索提供托管式检索服务。 </li></ul></ul><ul><ul><li>开始对腾讯内部重点数据进行分析、整理,为网页搜索补充腾讯内部各重点数据。 </li></ul></ul>Q1-Q2 Q3 Q4 <ul><ul><li>完成现有主要支持项目到到托管平台的迁移。 </li></ul></ul><ul><ul><li>托管平台 1.0 全部开发测试完成。包括通用的内外存索引、检索单元,排序单元。 </li></ul></ul><ul><ul><li>托管平台各项工作流程规范化。 </li></ul></ul><ul><ul><li>开始研究与采用 Login 后检索的体验 , 进行用户行为分析,包括有商业价值的数据与流量的分析。 </li></ul></ul>
  29. 29. 谢谢各位 
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×