搜索引擎关键技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单词 DocID,TF,<pos1,pos2, …> ……… DocID,TF,<pos1,pos2, …>
倒排索引项
倒排索引项
倒排索引项
倒排列表 词典项
单词
187
196
199
编号差值
单词
187
9
3
为了更好地对数据进行压缩在实 际的搜索引擎系统中,并不存储 倒排索引项中的实际文档编号, 而是代之以文档编号差值(D-Gap)
用户体验策略 原理:以用户体验为中心,在不影响用户体验的前提下, 利用网页内容变化所带来的搜索质量变化(结果排名) 确定更新时间。 方法:保存网页多个历史版本,根据过去每次内容变化 对搜索质量的影响,得出一个平均值,以此作为判断的 依据。
聚类抽样策略(效果好) 原理:不依赖历史信息。根据网页一些属性预测其更新 周期,具有相似属性的网页,更新周期也类似。归类后, 同一类别网页具有相同更新频率。 方法:将对某个类别种的采样网页的更新周日作为该类 别的其他网页更新周期。
抓 取 服 务 器
UR L 集 合
Ha sh
U RL 集 合
抓 取 服 务 器
抓 取 服 务 器
互 联 网
主从式爬虫
对等式爬虫 (哈希取模)
U RL 集 合
爬虫中的云计算技术
网页存储与备份 ——分布式存储技术
网页 URL去重——数据管理技术
节点故障时的迁移服务——分布式资源管理技术
服务器管理 ——云计算平台管理技术
什么是爬虫
• 爬虫将海量网页数据传送到本地并形成网页的镜像备 份,是搜索引擎系统关键的、基础的构件。
互联网 5 下载网 页库 网页下载 6 网页 7 8 已抓取 URL队列 抽取URL 9 待抓取 URL队列 4 DNS解析 3 读取URL 2 1 种子URL
爬虫类型
• 批量型爬虫(Batch Crawler)


倒排索引实例
Only▲
文档编号 1 2 3 4 5 文档内容 谷歌地图之父跳槽 Facebook 谷歌地图之父加盟 Facebook 谷歌地图创始人拉斯离开谷歌加盟 Facebook
内部公开 Internal Use
谷歌地图之父跳槽 Facebook 与 Wave 项目取消有关 谷歌地图之父拉斯加盟社交网站 Facebook
抓取策略 网页更新策略(增加下载网页的时效性) 暗网抓取(增加网页覆盖率) 分布式爬虫(决定爬虫性能)
(1)抓取策略


抓取策略主要目的:决定待抓取URL队列的排序。不同的抓取策略, 就是利用不同的方法来确定待抓取URL队列中的URL优先顺序。 宽度优先遍历策略(Breath First)——非常简单直观且历史悠久的遍 历方法。基本思想:将新下载网页直接追加到待抓取URL队列末尾。
搜索引擎分类
全文搜索引擎
垂直搜索引擎 元搜索引擎 门户搜索引擎 目录索引
搜索引擎发展历史
• 早期:分类目录(人工整理)
代表:Yahoo、hao123
• 第一代:文本检索(采用经典信息检索模型)
wenku.baidu.com表:AltaVista、Excite
• 第二代:链接分析(利用网页间的链接关系)
代表:Google、Baidu等等
(4)分布式爬虫
抓取服务器
爬虫程序 爬虫程序
爬虫程序
数据中心 抓取服务器 分布式爬虫 抓取服务器 数据中心 抓取服务器
爬虫程序
爬虫程序 爬虫程序
爬虫程序 爬虫程序
抓 取 服 务 器
对等式爬虫 (一致性爬虫)
U RL 集 合
U R L 集 合
U R L 服 务 器
抓 取 服 务 器
互 联 网
抓 取 服 务 器
可扩展性 健壮性 友好性
• 评价标准
网页抓取覆盖率、抓取网页时新性、抓取网页重要性
目录
1、hadoop简介 2、搜索引擎简介 3、搜索引擎关键技术
搜索引擎爬虫
爬虫基础 爬虫关键技术
搜索引擎索引 搜索引擎检索排序
4、学习资源 5、动动手
爬虫系统关键技术
• 爬虫系统有4个至关重要的组成部分,它们基本决 定了爬虫系统的质量和性能。
搜索引擎整体架构
反作弊 网络爬虫
查询分析
Cache系统 倒排索引 网页去重 链接关系 链接分析 云存储与云计算平台
内容相似性
网页排序
目录
1、hadoop简介 2、搜索引擎简介 3、搜索引擎关键技术
搜索引擎爬虫
爬虫基础 爬虫关键技术
搜索引擎索引 搜索引擎检索排序
4、学习资源 5、动动手
优秀爬虫特性及爬虫质量评价标准
• 优秀爬虫特性
高性能
• 指爬虫抓取速度,以爬虫每秒钟下载的网页数量作为性能指标。 • 很容易增加抓取服务器和爬虫数量。 • 能及时有效处理各种异常情况(如:网页编码不规范、宕机等) • (1)保护网站的部分私密性——爬虫禁抓协议、网页禁抓标记 • (2)减少被抓取网站的网络负载——在不影响爬虫性能的情况下,减少 对单一站点短期内的高频访问
倒排索引——示意图
Only▲
词典 内存 单词 1 单词 2 单词 3 单词 4
内部公开 Internal Use
单词 5
………… 倒排文件 磁盘 倒排列表
…………
单词词典
• 词典用来维护文档集合中出现过的所有的单词,并通过倒排列表记载某个单词在文档 中出现的频率、位置等信息。在支持搜索时,根据用户的查询词,在词典里查询,就 能够获得相应的倒排列表,并以此作为后续排序的基础。
目录
1、hadoop简介 2、搜索引擎简介 3、搜索引擎关键技术
搜索引擎爬虫 搜索引擎索引
索引基础 索引构建 索引更新 查询处理
搜索引擎检索排序
4、学习资源 5、动动手
中文分词
• 分词技术,是自然语言处理技术的关键和基础技术之一。常见的分 词技术有: 最大匹配法:正向最大匹配法、逆向最大匹配法、双向最大匹 配法等。 最大概率法分词:一个待切分的汉字串可能有多种切分结果, 将概率最大的切分作为其切分的结果。 在搜索引擎中,分词技术也是一个必备的技术。出现在两个阶段: 构建索引阶段:对原始文本进行预处理 用户查询阶段:对用户输入的查询语句进行分词处理。 例句:长春市长春节致辞 词典:长春、长春市、市长、春节、致辞 正向:长春市/长春/节/致辞 逆向:长春/市长/春节/致辞
倒排列表(DocID) (1;1;<1>),(2;1;<1>),(3;2;<1;6>),(4;1;<1>),(5;1;<1>) (1;1;<2>),(2;1;<2>),(3;1;<2 >),(4;1;<2>),(5;1;<2>) (1;1;<3>),(2;1;<3>),(4;1;<3>),(5;1;<3>) (1;1;<4>),(4;1;<4>) (1;1;<5>),(2;1;<5>),(3;1;<8>),(4;1;<5>),(5;1;<8>) (2;1;<4>),(3;1;<7>),(5;1;<5>) (3;1;<3>) (3;1;<4>),(5;1;<4>) (3;1;<5>) (4;1;<6>) (4;1;<7>) (4;1;<8>) (4;1;<9>) (4;1;<10>) (5;1;<6>) (5;1;<7>)
搜索引擎关键技术
陈超 2014年11月9日
目录
1、hadoop简介 2、搜索引擎简介 3、搜索引擎关键技术
搜索引擎爬虫 搜索引擎索引 搜索引擎检索排序
4、学习资源 5、动动手
认识搜索,从Google开始
Google云存储与云计算架构
应用层 MapReduce
搜索
广告 Percolator
有较明确的抓取范围和目标(抓取一定量的网页、抓 取消耗时间等),达到目标则停止抓取。
• 增量型爬虫(Incremental Crawler)
持续不断抓取,并能对抓取的网页做到周期性更新。 通用商业搜索引擎爬虫基本属于此类。
• 垂直型爬虫(Focused Crawler)
只抓取特定主题内容或特定行业的网页,难点:人工 之别网页内容是否属于指定行业或者主题。垂直搜索 网站一般需要此类爬虫。
Google GFS
Google MapReduce
MapReduce
谁在用?facebook、淘宝、360、京东……
Hadoop开源架构与Google系统对应关系图
应用层 MapReduce
Nutch
Lucene
pig
Hive
……
Hbase(BigTable) Zookeeper (Chubby)
地图
gmail
Google+
……..
Pregel
MegaStore
BigTable Google三驾 马车 Google文件系统(GFS)
Chubby
服务器集群
Hadoop简介
hadoop之父Doug Cutting lucene搜索插件库 nutch可爬可搜 分布式处理软件框架
2000
2005为 解决存 储和计 算问题 HDFS 两个核心 Hadoop
一致性 对已经抓取的 网页,爬虫要 负责保持其与 互联网页面内 容的同步。
(3)暗网抓取(Deep Web Crawling)
• 暗网——目前搜索引擎爬虫按照常规方式很难抓取到的互联网页面。 如:以数据库方式存储内容的网页。
暗网爬虫目的:将暗网数据从数据库中挖掘出来,并 加入到搜索引擎的索引,增加信息覆盖程度。 两种策略:(1)Google采用“深度搜索”技术,进 行主动抓取,通过查询模板尽可能得到多的记录。 (2)百度—“阿拉丁计划”,一个开放的平台,与 网站合作,由网站直接提交数据的形式。如:搜索 “火车票”得到
Hadoop HDFS( Google文件系统(GFS) )
服务器集群
目录
1、hadoop简介 2、搜索引擎简介 3、搜索引擎关键技术
搜索引擎爬虫 搜索引擎索引 搜索引擎检索排序
4、学习资源 5、动动手
什么是搜索引擎
• 全国科学技术名词审定委员会——“万维网环境中的 信息检索系统,包括目录服务和关键字检索两种服务 方式”。 • 百度百科——“搜索引擎指根据一定的策略、运用特 定的计算机程序从互联网上搜集信息,在对信息进行 组织和处理后,为用户提供检索服务,将用户检索相 关的信息展示给用户的系统”。 • 维基百科——“搜索引擎指自动从因特网搜集信息, 经过一定整理以后,提供给用户进行查询的系统。” • 综上可见,搜索引擎是一种从互联网上采集数据,并 将其进行存储、加工和重新组织后,向用户提供查询 和结果展示的信息检索系统。
目录
1、hadoop简介 2、搜索引擎简介 3、搜索引擎关键技术
搜索引擎爬虫 搜索引擎索引
索引基础 索引构建 索引更新 查询处理
搜索引擎检索排序
4、学习资源 5、动动手
(1)两遍文档遍历法
• 第一遍文档扫描时,搜索引擎系统完成一些全局信息的统计,比如文 档的数量M,每个文档的单词数量N,不同单词的数量P,每个单词的 文档频率DF等等,进而估算索引大致需要多少内存。根据估算值,预 先申请一块连续的内存来存储倒排索引。 第二遍文档扫描的主要工作就是填补每个单词的倒排列表,即对于每 个单词,获得其所在文档的ID以及其在该文档出现的频率TF,如此不 断填充第一遍扫描时所分配的内存空间。经过两遍文档扫描后,可将 词典及倒排列表信息由内存写入到磁盘。
倒排列表
• 倒排列表用来记录有哪些文档包含了某个单词,一般在文档集合里会有很多文档包含某 个单词,每个文档会记录文档编号(DocID),单词在这个文档中出现的次数(TF )及单 词在文档中哪些位置出现过等信息,这样与一个文档相关的信息被称为倒排索引项 (Posting),包含这个单词的一系列倒排索引项形成列表结构,这就是某个单词对应的倒 排列表。
内部公开 Internal Use Only▲
单词 ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
单词 谷歌 地图 之父 跳槽 Facebook 加盟 创始人 拉斯 离开 与 Wave 项目 取消 有关 社交 网站
文档频率
5 5 4 2 5 3 1 2 1 1 1 1 1 1 1 1
• 第三代:用户为中心(以理解用户为核心)
代表:目前大部分搜索引擎
搜索引擎3个目标
• 更全——索引网页数量。 • 更快——贯穿于搜索引擎的大多数技术方向。 • 更准——内容排序技术,链接分析技术,用户行为 研究。
“更全”与“更快”可以使其不落后于同类产品。 “更准”则构建其核心竞争能力。
网页1 待抓取URL队列 1 2 网页2 网页3 网页4 3 4 网页5 网页6 网页7 网页8 网页9 5 6
(2)网页更新策略
动态性 随着新的页面 的出现,本地 页面内容要被 更改或者删除 Why 网 页 更 新 策 略 How
历史参考策略 原理:过去频繁更新的网页,将来也会频繁更新。 方法:利用泊松过程对网页变化建模,预测何时内容会 发生变化。
相关文档
最新文档