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