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

595 views
534 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
595
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • <number>
  • 腾讯大讲堂25 企业级搜索托管平台介绍

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

    ×