欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年Google搜索引擎原理 .pdf

    • 资源ID:35292332       资源大小:228.02KB        全文页数:23页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年Google搜索引擎原理 .pdf

    Google搜索引擎原理这篇文章中,我们介绍了google ,它是一个大型的搜索引擎(of a large-scale search engine)的原型,搜索引擎在超文本中应用广泛。Google的设计能够高效地抓网页并建立索引,它的查询结果比其它现有系统都高明。这个原型的全文和超连接的数据库至少包含24000000个网页。我们可以从http:/google.stanford.edu/ 下载。设计搜索引擎是一项富有挑战性的工作。搜索引擎为上亿个网页建立索引,其中包含大量迥然不同的词汇。 而且每天要回答成千上万个查询。 在网络中, 尽管 大型搜索引擎非常重要,但是学术界却很少研究它。此外由于技术的快速发展和网页的大量增加,现在建立一个搜索引擎和三年前完全不同。本文详细介绍了我们的大型搜索引擎,据我们所知,在公开发表的论文中,这是第一篇描述地如此详细。 除了把传统数据搜索技术应用到如此大量级网页中所遇到的问题, 还有许多新的技术挑战, 包括应用超文本中的附加信息改进搜索结果。本文将解决这个问题, 描述如何运用超文本中的附加信息,建立一个大型实用系统。任何人都可以在网上随意发布信息,如何有效地处理这些无组织的超文本集合,也是本文要关注的问题。关键词 World Wide Web,搜索引擎,信息检索,PageRank, Google 1 绪论Web 给信息检索带来了新的挑战。 Web 上的信息量快速增长, 同时不断有毫无经验的新用户来体验Web 这门艺术。人们喜欢用超级链接来网上冲浪,通常都以象 Yahoo 这样重要的网页或搜索引擎开始。大家认为List(目录)有效地包含了大家感兴趣的主题, 但是它具有主观性, 建立和维护的代价高, 升级慢,不 能包括所有深奥的主题。基于关键词的自动搜索引擎通常返回太多的低质量的匹配。使问题更遭的是, 一些广告为了赢得人们的关注想方设法误导自动搜索引擎。我们建立了一个大型搜索引擎解决了现有系统中的很多问题。应用超文名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 23 页 - - - - - - - - - 本结构,大大提高了查询质量。我们的系统命名为google ,取名自 googol的通俗拼 法,即 10 的 100 次方,这和我们的目标建立一个大型搜索引擎不谋而合。1.1 网络搜索引擎升级换代(scaling up) :1994-2000 搜索引擎技术不得不快速升级(scale dramatically)跟上成倍增长的 web 数量。1994 年,第一个 Web 搜索引擎, World Wide Web Worm(WWWW)可以检索到 110,000 个网页和 Web 的文件。到 1994 年 11 月,顶级的搜索引擎声称可以检索到2 000000(WebCrawler)至100 000000 个网络文件 (来自 Search Engine Watch) 。可以预见到 2000 年,可检索到的网页将超过1 000000 000 。同时,搜索引擎的访问量也会以惊人的速度增长。在 1997 年的三四月份, World Wide Web Worm 平均每天收到 1500 个查询。在 1997 年 11 月, Altavista 声称它每天要处理大约20000000个查询。随着网络用户的增长 . 到 2000 年,自动搜索引擎每天将处理上亿个查询。我们系统的设计目标要解决许多问题,包括质量和可升级性,引入升级搜索引擎技术(scaling search engine technology),把它升级到如此大量的数据上。1.2 Google :跟上 Web 的步伐 (Scaling with the Web)建立一个能够和当今web 规模相适应的搜索引擎会面临许多挑战。抓网页技术必须足够快, 才能跟上网页变化的速度(keep them up to date)。存储索引和文档的空间必须足够大。索引系统必须能够有效地处理上千亿的数据。处理查询必须快, 达到每秒能处理成百上千个查询 (hundreds to thousands per second.)。随着 Web 的不断增长,这些任务变得越来越艰巨。 然而硬件的执行效率和成本也在快速增长,可以部分抵消这些困难。还有几个值得注意的因素,如磁盘的寻道时间 (disk seek time),操作系统的效率 (operating system robustness)。在设计 Google 的过程中,我们名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 23 页 - - - - - - - - - 既考虑了 Web 的增长速度,又考虑了技术的更新。Google 的设计能够很好的升级处理海量数据集。它能够有效地利用存储空间来存储索引。优化的数据结构能够快速有效地存取 (参考 4.2 节)。进一步,我们希望,相对于所抓取的文本文件和 HTML 网 页的数量而言,存储和建立索引的代价尽可能的小(参考附录B)。对于象 Google 这样的集中式系统, 采取这些措施得到了令人满意的系统可升级性 (scaling properties)。1. 3 设计目标1.3.1 提高搜索质量我们的主要目标是提高Web 搜索引擎的质量。1994 年,有人认为建立全搜索索引 (a complete search index)可以使查找任何数据都变得容易。根据Best of the Web 1994 - Navigators ,“最好的导航服务可以使在Web 上搜索任何信息都很容易(当时所有的数据都可以被登录 ) ”。然而1997 年的 Web 就迥然不同。近来搜索引擎的用户已经证实索引的完整性不是评价搜索质量的唯一标准。用户感兴趣的搜索结果往往湮没在“垃圾结果 Junk result”中。实际上,到1997 年 11 月为止,四大商业搜索引擎中只有一个能够找到它自己(搜索自己名字时返回的前十个结果中有它自己)。导致这一 问题的主要原因是文档的索引数目增加了好几个数量级,但是用户能够看的文档数却没有增加。 用户仍然只希望看前面几十个搜索结果。因此,当集合增大时,我们 就需要工具使结果精确 (在返回的前几十个结果中, 有关文档的数量 )。由于是从成千上万个有点相关的文档中选出几十个,实际上,相关的概念就是指最好的文档。高精确非常重要,甚至以响应(系统能够返回的有关文档的总数)为代价。令人高兴的是利用超文本链接提供的信息有助于改进搜索和其它应用。尤其是链接结构和链接文本, 为相关性的判断和高质量的过滤提供了大量的信息。Google 既利用了链接结构又用到了anchor 文本(链接结构:有效,简洁,明了的导航和链接机制。链接文本:链接中的alt 属性。) (见 2.1 和 2.2 节)。1.3.2 搜索引擎的学术研究随着时间的流逝,除了发展迅速, Web 越来越商业化。1993 年,只有 1.5%的 Web 服务是来自 .com 域名。到 1997 年,超过了60%。同时,搜索引擎从学术领域走进商业。到现在大多数搜索引擎被公司所有,很少技公开术细节。 这就导致搜索引擎技术很大程度上仍然是暗箱操作,并名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 23 页 - - - - - - - - - 倾向做广告 (见附录 A)。Google的主要目标是推动学术领域在此方面的发展,和对它的了解。 另一个设计目标是给大家一个实用的系统。应用对我们来说非常重要,因为现代网络系统中存在大量的有用数据(us because we think some of the most interesting research will involve leveraging the vast amount of usage data that is available from modern web systems)。例如,每天有几千万个研究。 然而,得到这些数据却非常困难, 主要因为它们没有商业价值。我们最后的设计目标是建立一个体系结构能够支持新的关于海量 Web 数据的研究。为了支持新研究, Google 以压缩的形式保存了实际所抓到的文档。设计google的目标之一就是要建立一个环境使其他研究者能够很快进入这个领域,处理海量 Web 数据,得到满意的结果,而通过其它方法却很难得到结果。系统在短时间内被建立起来,已经有几篇论文用到了Google 建的数据库,更多的在起步中。我们的另一个目标是建立一个宇宙空间实验室似的环境,在这里研究者甚至学生都可以对我们的海量Web 数据设计或做一些实验。2. 系统特点Google 搜索引擎有两个重要特点,有助于得到高精度的搜索结果。第一点, 应用 Web 的链接结构计算每个网页的Rank 值, 称为 PageRank ,将在 98 页详细描述它。第二点, Google 利用超链接改进搜索结果。(PR 值对于现在的 Google 来说已经没有当初那样关键,取而代之的是网页的页面质量和文本的原创性与更新速度。超链接:每个链接都尽量写相对应的描述,简洁,短小精悍的描述。)2.1 PageRank: 给网页排序Web 的引用 (链接)图是重要的资源,却被当今的搜索引擎很大程度上忽视了。 我们建立了一个包含518 000000 个超链接的图,它是一个具有重要意义的样本。这些图能够快速地计算网页的PageRank值,它是一个客观的标准,较好的符合人们心目中对一个网页重要程度的评价,建立的基础是通过引用判断重要性。 因此在 web 中,PageRank 能够优化关键词查询的结果。对于大多数的主题,在网页标题查询中用PageRank 优化简单文本匹配,我们得到了令人惊叹的结果 (从 google.stanford.edu可以得到演示)。对于 Google 主系统中的全文搜索, PageRank 也帮了不少忙。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 23 页 - - - - - - - - - 2.1.1 计算 PageRank 文献检索中的引用理论用到Web 中,引用网页的链接数,一定程度上反映了该网页的重要性和质量。PageRank 发展了这种思想,网页间的链接是不平等的。 PageRank 定义如下 :我们假设 T1 Tn 指向网页A(例如,被引用 )。参数 d 是制动因子, 使结果在 0,1 之间。通常 d 等于 0.85。在下一节将详细介绍 d。C(A)定义为网页 A 指向其它网页的链接数, 网页 A 的PageRank 值由下式给出:PR(A) = (1-d) + d (PR(T1)/C(T1) + . + PR(Tn)/C(Tn) 注意 PageRank 的形式,分布到各个网页中,因此所有网页的PageRank 和是 1。 PageRank 或 PR(A)可以用简单的迭代算法计算,相应规格化 Web 链接矩阵的主特征向量。中等规模的网站计算26 000000 网页的PageRank 值要花费几小时。还有一些技术细节超出了本文论述的范围。2.1.2 直觉判断PageRank 被看作用户行为的模型。 我们假设网上冲浪是随机的,不断点击链接,从不返回,最终烦了,另外随机选一个网页重新开始冲浪。随机访问一个网页的可能性就是它的PageRank 值。制动因子 d 是随机访问一个网页烦了的可能性, 随机另选一个网页。 对单个网页或一组网页, 一个重要的变量加入到制动因子 d 中。这允许个人可以故意地误导系统,以得到较高的PageRank 值。我们还有其它的PageRank 算法,见 98 页。 另外的直觉判断是一个网页有很多网页指向它,或者一些PageRank 值高的网页指向它,则这个网页很重要。直觉地,在Web 中,一个网页被很多网页引用,那么这个网页值得一看。一个网页被象 Yahoo 这样重要的主页引用即使一次, 也值得一看。如果一个网页的质量不高,或者是死链接,象Yahoo 这样的 主页不会链向它。PageRank 处理了这两方面因素,并通过网络链接递归地传递。2.2 链接描述文字 (Anchor Text) 我们的搜索引擎对链接文本进行了特殊的处理。大多数搜索引擎把链接文字和它所链向的网页 (the page that the link is on)联系起来。另外,把它和链接所指向的网页联系起来。这有几点好处。第一,通常链接描述文字比网页本身更精确地描述该网页。第二, 链接描述文字可能链向的文档不能被文本搜索引擎检索到,例如图像,程序和数据库。有可能使返回的网页不能被抓到。注意哪些抓不到的网页将会带来一些问题。在返回给用户前检测不了它们的有效性。这种情况搜索引擎可名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 23 页 - - - - - - - - - 能返回一个根本不存在的网页,但是有超级链接指向它。 然而这种结果可以被挑出来的,所以此类的问题很少发生。链接描述文字是对被链向网页的宣传,这个思想被用在 World Wide Web Worm 中,主要因为它有助于搜索非文本信息,能够用少量的已下载文档扩大搜索范围。我们大量应用链接描述文字,因为它有助于提高搜索结果的质量。 有效地利用链接描述文字技术上存在一些困难,因为必须处理大量的数据。现在我们能抓到24 000000 个网页,已经检索到259 000000 多个链接描述文字。2.3 其它特点除了 PageRank 和应用链接描述文字外, Google 还有一些其它特点。第一,所有 hit 都有位置信息,所以它可以在搜索中广泛应用邻近性(proximity)。第二,Google 跟踪一些可视化外表细节,例如字号。黑体大号字比其它文字更重要 。第三,知识库存储了原始的全文html 网页。3 有关工作Web 检索研究的历史简短。World Wide Web Worm()是最早的搜索引擎之一。 后来出现了一些用于学术研究的搜索引擎,现在它们中的大多数被上市公司拥有。与Web 的增长和搜索引擎的重要性相比,有关当今搜索引擎技术的优秀论文相当少。根据Michael Mauldin(Lycos Inc 的首席科学家 ) , “各种各样的服务 (包括 Lycos)非常关注这些数据库的细节。 ”虽然在搜索引擎的某些特点上做了大量工作。具有代表性的工作有,对现有商业搜索引擎的结果进行传递,或建立小型的个性化的搜索引擎。最后有关信息检索系统的研究很多,尤其在有组织机构集合 (well controlled collections)方面。在下面两节,我们将讨论在信息检索系统中的哪些领域需要改进以便更好的工作在Web 上。3.1 信息检索系统诞生在几年前,并发展迅速。然而大多数信息检索系统研究的对象是小规模的单一的有组织结构的集合(最早的信息检索系统),例如科学论文集,或相 关主题的新闻故事。实际上,信息检索的主要基准,the Text Retrieval Conference(),用小规模的、有组织结构的集合作为它们的基准。大型文集基准只有20GB, 相比之下,我们抓到的 24000000个网页占147GB 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 23 页 - - - - - - - - - 在 TREC上工作良好的系统,在Web 上却不一定产生好的结果。例如,标准向量空间模型企图返回和查询请求最相近的文档,把查询请求和文档都看作由出现在它们中的词汇组成的向量。在Web 环境下,这种策略常常返回非常短的文档,这些文档往往是查询词再加几个字。例如,查询“Bill Clinton ” ,返回的网页只包含“ Bill Clinton Sucks” ,这是我们从一个主要搜索引擎中看到的。网络上有些争议, 用户应该更准确地表达他们想查询什么,在他们的查询请求中用更多的词。我们强烈反对这种观点。如果用户提出象“Bill Clinton ”这样的查询请求,应该得到理想的查询结果, 因为这个主题有许多高质量的信息。象所给的例子,我们认为信息检索标准需要发展,以便有效地处理 Web 数据。3.2 有组织结构的集合 (Well Controlled Collections)与 Web 的不同点Web 是完全无组织的异构的大量文档的集合。Web 中的文档无论内在信息还是隐含信息都存在大量的异构性。例如,文档内部就用了不同的语言(既有人类语言 又有程序 ),词汇(email 地址,链接,邮政编码, 电话号码,产品号 ),类型(文本,HTML ,PDF,图像,声音 ),有些甚至是机器创建的文件(log 文件,或数据库的输出 )。可以从文档中推断出来,但并不包含在文档中的信息称为隐含信息。隐含信息包括来源的信誉,更新频率,质量,访问量和引用。不但隐含信息的可能来源各种各样, 而且被检测的信息也大不相同, 相差可达好几个数量级。例如,一个重要主页的使用量,象Yahoo 每天浏览数达到上百万次,于此相比无名的历史文章可能十年才被访问一次。很明显,搜索引擎对这两类信息的处理是不同的。Web与有组织结构集合之间的另外一个明显区别是,事实上,向Web 上传信息没有任何限制。灵活利用这点可以发布任何对搜索引擎影响重大的信息,使路由阻塞,加上为牟利故意操纵搜索引擎,这些已经成为一个严重的问题。这些问题还没有被传统的封闭的信息检索系统所提出来。它关心的是元数据的努力, 这在 Web 搜索引擎中却不适用, 因为网页中的任何文本都不会向用户声称企图操纵搜索引擎。甚至有些公司为牟利专门操纵搜索引擎。4 系统分析 (System Anatomy) 首先,我们提供高水平的有关体系结构的讨论。然后,详细描述重要的数据结构。最后,主要应用:抓网页,索引,搜索将被严格地检查。4.1Google 体系结构概述名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 23 页 - - - - - - - - - 这一节,我们将看看整个系统是如何工作的(give a high level),见图1。本节不讨论应用和数据结构,在后几节中讨论。为了效率大部分Google是用 c 或 c+ 实现的,既可以在Solaris 也可以在Linux 上运行。Google系统中,抓网页 (下载网页 )是由几个分布式crawlers (spider )完成的。一个URL服 务器 负责 向 crawlers提 供 URL 列 表 。抓 来 的 网页 交 给存 储服 务 器storeserver 。 然后, 由存储服务器压缩网页并把它们存到知识库repository中。每个网页都有一个ID ,称作 docID ,当新 URL 从网页中分析出时, 就被分配一个 docID 。由索引器和排序器负责建立索引index function。索引器从知识库中读取文档, 对其解压缩和分析。 每个文档被转换成一组词的出现情况,称作命中 hits 。Hits 纪录了词,词在文档中的位置,最接近的字号,大小写。索引器把这些 hits 分配到一组桶barrel 中,产生经过部分排序后的索引。索引器的另一个重要功能是分析网页中所有的链接,将有关的重要信息存在链接描述anchors 文件中。该文件包含了足够的信息, 可以用来判断每个链接链出链入节点的信息,和链接文本。URL 分解器 resolver阅读链接描述 anchors文件,并把相对 URL 转换成绝对 URL,再转换成 docID 。为链接描述文本编制索引,并与它所指向的 docID 关联起来。同时建立由docID对组成的链接数据库。用于计算所有文档的PageRank 值。用 docID 分类后的 barrels ,送给排序器sorter ,再根据 wordID 进行分类,建立反向索引inverted index。这个操作要恰到好处,以便几乎不需要暂存空间。排序器还给出docID 和偏移量列表,建立反向索引。一个叫DumpLexicon的程序把这个列表和由索引器产生的字典结合在一起,建立一个新的字典, 供搜索器使用。 这个搜索器就是利用一个Web服务器,使用由 DumpLexicon所生成的字典,利用上述反向索引以及页面等级 PageRank 来回答用户的提问。(如图: )4.2 主要数据结构经过优化的Google 数据结构,能够用较小的代价抓取大量文档,建立索引和查询。虽然近几年 CPU 和输入输出速率迅速提高。 磁盘寻道仍然需要10ms 。任何时候 Google 系统的设计都尽可能地避免磁盘寻道。这对数据结构的设计影响很大。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 23 页 - - - - - - - - - 4.2.1 大文件大文件 BigFiles 是指虚拟文件生成的多文件系统,用长度是64位的整型数据寻址。 多文件系统之间的空间分配是自动完成的。BigFiles 包也处理已分配和未分配文件描述符。由于操纵系统不能满足我们的需要,BigFiles 也支持基本的压缩选项。4.2.2 知识库 知识库包含每个网页的全部HTML 。每个网页用zlib( 见RFC1950) 压缩。压缩技术的选择既要考虑速度又要考虑压缩率。我们选择zlib的速度而不是压缩率很高的bzip 。 知识库用 bzip 的压缩率接近 4: 1。 而用 zlib的压缩率是 3: 1。 文档一个挨着一个的存储在知识库中,前缀是 docID , 长度,URL, 见图 2。 访问知识库不需要其它的数据结构。 这有助于数据一致性和升级。用其它数据结构重构系统,我们只需要修改知识库和crawler 错误 列表文件。4.2.3 文件索引文件索引保存了有关文档的一些信息。索引以docID 的顺序排列,定宽 ISAM(Index sequential access mode)。每条记录包括当前文件状态,一个指向知识库的指针, 文件校验和, 各种统计表。 如果一个文档已经被抓到,指针指向 docinfo文件,该文件的宽度可变, 包含了 URL 和标题。 否则指针指向包含这个 URL 的 URL 列表。这种设计考虑到简洁的数据结构,以及在查询中只需要一个磁盘寻道时间就能够访问一条记录。还有一个文件用于把URL 转换成docID 。它是 URL 校验和与相应 docID 的列表,按校验和排序。要想知道某个URL 的 docID ,需要计算 URL 的校验和,然后在校验和文件中执行二进制查找,找到它的 docID 。通过对这个文件进行合并,可以把一批URL 转换成对应的 docID 。URL 分 析器用这项技术把URL 转换成 docID 。这种成批更新的模式是至关重要的,否则每个链接都需要一次查询, 假如用一块磁盘,322 000000个链接 的数据集合将花费一个多月的时间。4.2.4 词典词典有几种不同的形式。 和以前系统的重要不同是, 词典对内存的要求可以在合理的价格内。现在实现的系统,一台256M内存的机器就可以把词典装 入到内存中。现在的词典包含14000000词汇(虽然一些很少用的词汇没有加入到词典中 )。它执行分两部分词汇表(用 null分隔的连续串 )和指针的哈希名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 23 页 - - - - - - - - - 表。 不同的函数,词汇表有一些辅助信息,这超出了本文论述的范围。4.2.5 hit list hit list 是一篇文档中所出现的词的列表,包括位置,字号,大小写。Hit list 占很大空间,用在正向和反向索引中。 因此,它的表示形式越有效越好。我们考虑了几种方案来编码位置, 字号, 大小写简单编码 (3 个整型数 ), 紧凑 编码(支持优化分配比特位 ),哈夫曼编码。 Hit的详细信息见图3。我们的紧凑编码每个 hit 用 2 字节。有两种类型 hit , 特殊 hit 和普通 hit 。 特殊 hit 包含 URL,标题,链接描述文字, meta tag 。普通 hit 包含其它每件事。 它包括大小写特征位,字号, 12 比特用于描述词在文档中的位置(所有超过4095 的位置标记为4096) 。字号采用相对于文档的其它部分的相对大小表示,占3 比特(实际只用7 个值,因为 111 标志是特殊 hit) 。特殊 hit 由大小写特征位,字号位为7 表示它是特殊hit , 用 4 比特表示特殊 hit 的类型,8 比特表示位置。对于 anchor hit八比特位置位分出4 比特用来表示在anchor 中的位置,4 比特用于表明 anchor出现的哈希表 hash of the docID。短语查询是有限的,对某些词没有足够多的anchor 。我们希望更新 anchor hit的存储方式, 以便解决地址位和docIDhash域位数不足的问题。因为搜索时, 你不会因为文档的字号比别的文档大而特殊对待它,所以采用相对字号。hit 表的长度存储在hit 前。为节省空间 hit 表长度,在正向索引中和 wordID结合在一起,在反向索引中和docID 结合存储。这就限制它相应地只 占 8 到 5 比特 (用些技巧,可以从wordID中借 8bit) 如果大于这些比特所能表示的长度,用溢出码填充,其后两字节是真正的长度。4.2.6 正向索引实际上,正向索引已经部分排序。它被存在一定数量的barrel 中(我们用 64 个 barrels) 。每个 barrel 装着一 定范 围的 wordID 。如果一篇文档中的词落到某个barrel ,它的 docID 将被记录到这个 barrel 中,紧跟着那些词 (文档中所有的词汇, 还是落入该barrel 中的词汇 )对应的 hitlist 。这种模式需要稍多些的存储空间,因为一个docID 被用多次,但是它节省了桶数和时间,最后排序器进行索引时降低编码的复杂度。更进一步的措施是,我们不是存储 docID 本身,而是存储相对于该桶最小的docID 的差。用这种方法,未排序的 barrel 的 docID 只需 24 位,省下 8 位记录 hitlist长。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 23 页 - - - - - - - - - 4.2.7 反向索引除了反向索引由sorter加工处理之外, 它和正向索引包含相同的桶。 对每个有效的 docID ,字典包含一个指向该词所在桶的指 针。它指向由 docID 和它的相应 hitlist 组成的 doclish ,这个 doclist 代表了所有包含该词的文档。doclist中 docID 的顺序是一个重要的问题。最简单的解决办法是用 doclish 排序。这种方法合并多个词时很快。另一个可选方案是用文档中该词 出现的次数排序。这种方法回答单词查询,所用时间微不足道。当多词查询时几乎是从头开始。并且当用其它Rank 算法改进索引时,非常困难。我们综合了这两 种方法,建立两组反向索引barrel ,一组 barrels 的 hitlist 只包含标题和 anchor hit ,另一组 barrel 包含全部的 hitlist 。我们首先查第一组索引桶,看有没有匹配的项,然后查较大的那组桶。4.3 抓网页运行网络爬行机器人是一项具有挑战性的任务。执行的性能和可靠性甚至更重要, 还有一些社会焦点。 网络爬行是一项非常薄弱的应用,它需要成百上千 的 web 服 务器和各种域名服务器的参与,这些服务器不是我们系统所能控制的。为了覆盖几十亿的网页,Google 拥有快速的分布式网络爬行系统。一个URL 服务器给若干个网络爬行机器人 (我们采用 3 个)提供 URL 列表。URL 服务器和网络爬行机器人都是用Python实现的。每个网络爬行机器人可以同时打开300 个 链接。抓取网页必须足够快。最快时,用4 个网络爬行机器人每秒可以爬行 100 个网页。速率达每秒600K 。执行的重点是找DNS。每个网络爬行机器人有它自己的 DNS cache ,所以它不必每个网页都查DNS 。每一百个连接都有几种不同的状态:查DNS,连接主机,发送请求,接收回答。这些因素使网络爬行机器人成为系统比较复杂的部分。它用异步IO 处理事件,若干请求队列从一个网站到另一个网站不停的抓取网页。运行一个链接到500 多万台服务器的网页爬行机器人,产生1 千多万登陆口,导致了大量的Email 和电话。因为网民众多, 总有些人不知道网络爬行机器人是何物,这是他们看到的第一个网络爬行机器人。几乎每天我们都会收到这样的Email “哦,你从我们的网站看了太多的网页,你想干什么 ?” 还有一些人不知道网络搜索机器人避免协议(the robots exclusion protocol),以为他们的网页上写着“版权所有,勿被索引”的字样就会被保护不被索引,不必说,这样的话很难被web crawler 理解。因名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 23 页 - - - - - - - - - 为数据量如此之大, 还会遇到一些意想不到的事情。例如,我们的系统曾经企图抓一个在线游戏,结果抓到了游戏中的大量垃圾信息。解决这个问题很简单。但是我们下载了几千万网页后才发现了这个问题。因为网页和服务器的种类繁多,实际上不在大部分Internet上运行它就测试一个网页爬行机器人是不可能。 总是有几百个隐含的问题发生在整个web 的一个网页上,导致网络爬行机器人崩溃,或者更糟,导致不可预测的不正确的行为。能够访问大部分 Internet的系统必须精力充沛并精心测试过。 由于象 crawler 这样大型复杂的系统总是产生这样那样的问题, 因此花费一些资源读这些Email ,当问题发生时解决它, 是有必要的。4.4Web 索引分析任何运行在整个 Web 上的分析器必须能够处理可能包含错误的大型集合。 范围从 HTML 标记到标记之间几K 字节的 0, 非 ASCII 字符, 几百层 HTML标记 的嵌套,各种各样令人难以想象的错误。为了获得最大的速度,我们没有采用 YACC 产生上下文无关文法CFG 分析器,而是采用灵活的方式产生词汇分析器,它自己配有堆栈。分析器的改进大大提高了运行速度,它的精力如此充沛完成了大量工作。把文档装入barrel 建立索引分析完一篇文档,之后把该文档装入barrel 中, 用内存中的 hash 表字典,每个词汇被转换成一个wordID 。当 hash 表字典中加入新的项时, 笨拙地存入文件。一旦词汇被转换成wordID ,它们在当前文档的出现就转换成hitlist ,被写进正向 barrel 。索引阶段并行的主要困难是字典需要共享。我们采用的方法是,基本字典中有140 万个固定词汇,不在基本字典中的词汇写入日志, 而不是共享字典。 这种方法多个索引器可以并行工作,最后一 个索引器只需处理一个较小的额外词汇日志。排序为了建立反向索引, 排序器读取每个正向barrel ,以 wordID排序,建立只有标题anchor hi t的反向索引 barrel 和全文反向索引barrel 。这个过程一次只处理一个barrel ,所以只需要少量暂存空间。排序阶段也是并行的,我们简单地同时运行尽可能多的排序器,不同的排序器处理不同的桶。由于barrel不适合装入主存,排序器进一步依据 wordID和 docID 把它分成若干篮子, 以便 适合装入主存。 然后排序器把每个篮子装入主存进行排序,并把它的内容写回到短反向barrel和全文反向名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 23 页 - - - - - - - - - barrel 。4.5 搜索搜索的目标是提供有效的高质量的搜索结果。多数大型商业搜索引擎好像在效率方面花费了很大力气。因此我们的研究以搜索质量为重点,相信我们的解决方案也可以用到那些商业系统中。Google 查询评价过程见图 4。1. 分析查询。2. 把词汇转换成 wordID 。3. 在短 barrel 中查找每个词汇doclist 的开头。4. 扫描 doclist直到找到一篇匹配所有关键词的文档5. 计算该文档的 rank 6. 如果我们在短 barrel , 并且在所有 doclist 的末尾, 开始从全文 barrel的 doclist 的开头查找每个词, goto 第四步7. 如果不在任何 doclist的结尾,返回第四步。8. 根据 rank 排序匹配文档,返回前k 个。图 4 Google查询评价在有限的响应时间内,一旦找到一定数量的匹配文档,搜索引擎自动执行步骤8。这意味着,返回的结果是子优化的。我们现在研究其它方法来解决这个问题。过去根据 PageRank 排序 hit ,看来能够改进这种状况。4.5.1 Ranking 系统 Google 比典型搜索引擎保存了更多的web 信息。每个 hitlish 包括位置,字号,大小写。另外,我们还考虑了链接描述文字。 Rank综合所有这些信息是困难的。ranking函数设计依据是没有某个因素对rank 影响重大。首先,考虑最简单的情况单个词查询。为了单个词查询中一个文档的rank ,Goole 在文档的 hitlist 中查找该词。 Google认为每个 hit 是几种不同类型(标题,链接描述文字 anchor , URL, 普通大字号文本,普通小字号文本, )之一,每种有它自己的类型权重。类型权重建立了一个类型索引向量。Google计算hitlist中每种hit的数量。然后每个hit数转换成count-weight。Count-weight开始随 hit 数线性增加,很快逐渐停止,以至于hit 数与此不相关。我们计算count-weight向量和 type-weight向量的标量积作为文档的IR值。 最后 IR 值结合 PageRank 作为文档的最后 rank 对于多词查询,更复杂些。现在,多词hitlist必须同时扫描,以便关键词出现在同一文档中的权重比分别出现时高。 相邻词的 hit 一起匹配。 对每个匹配hit 的集合计算相邻度。 相邻度名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 23 页 - - - - - - - - - 基于 hit 在文档中的距离,分成10 个不同的 bin 值,范围从短语匹配到根本不相关。不仅计算每类hit 数,而且要计算每种类型的相邻度,每

    注意事项

    本文(2022年Google搜索引擎原理 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开