首页 Google搜索引擎原理

Google搜索引擎原理

举报
开通vip

Google搜索引擎原理Google搜索引擎原理 这篇文章中~我这介这了google~是一大型的搜索引擎它个(of a large-scale search engine)的原型~搜索引擎在超文本中这用泛。广Google的这这能这高效地抓网并它它个这建立索引~的这这这果比其这有系这都高明。这这原型的全文 和超这接的数据这至少包含24'000'000这。我这可以个网从下这。 这这搜索引擎是一这富有挑这性的工作。搜索引擎这上这这建立索引~其中包个网 含大量然不同的这这。而且每天要回答成千上万这这。在这中~ 管 大型搜迥个网尽 索引擎非常重要...

Google搜索引擎原理
Google搜索引擎原理 这篇文章中~我这介这了google~是一大型的搜索引擎它个(of a large-scale search engine)的原型~搜索引擎在超文本中这用泛。广Google的这这能这高效地抓网并它它个这建立索引~的这这这果比其这有系这都高明。这这原型的全文 和超这接的数据这至少包含24'000'000这。我这可以个网从下这。 这这搜索引擎是一这富有挑这性的工作。搜索引擎这上这这建立索引~其中包个网 含大量然不同的这这。而且每天要回答成千上万这这。在这中~ 管 大型搜迥个网尽 索引擎非常重要~但是这界却少究。此外由于技这的快速这展和这的大学很研它网 量增加~这在建立一搜索引擎和三年前完全不同。个 本文这这介这了我这的大型搜索引擎~据我这所知~在公这这表的这文中~这是第一篇描述地如此这这。除了把这这据搜索技这这用到如此大量这这中所遇到的这这~这有数网 这多新的技这挑这~包括这用超文本中的附加信息改这搜索这果。 本文解这这这~描述如何用超文本中的附加信息~建立一这大型这用将决个运个 系这。任何人都可以在上意这布信息~如何有效地这理这些无这这的超文本集合网随~也是本文要这注的这这。 这这这 World Wide Web~搜索引擎~信息这索~PageRank, Google 1 这这 Web这信息这索这了新的挑这。来Web上的信息量快速增这~同这不有毫无这这断 的新用这这来体Web这这这这。人这喜这用超这这接上 浪~通常都以 象来网冲Yahoo这这重要的这或搜索引擎这始。大家这这网List(目这)有效地包含了大家感这趣的主这~但是具有主这性~建立和这这的代价高~升这慢~不 能包括所有深的主这。基于这它奥 这这的自这搜索引擎通常返回太多的低这量的匹配。使这这更遭的是~一些告这了这广 得人这的这注想方这法这这自这搜索引擎。我 这建立了一大型搜索引擎解了这有系个决 这中的多这这。这用超文本这~大大提高了这这这量。我这的系这命名这很构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‘000'000(WebCrawler)至100‘000'000这文件个网(自 来Search Engine Watch)。 可以这这到2000年~可这索到的这这超这网将1‘000'000‘000。同这~搜索引擎的这这量也以人的速度增这。会惊 在1997年的三四月~份World Wide Web Worm 平均每天收到1500这这个。 在1997年11月~Altavista 每天要这理大这声称它20'000'000这这。着这个随网 用这的增这. 到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的这程中~我这考这了既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%。同这~搜索引擎这这从学数很域走这商这。到这在大多搜索 引擎被公司 所有~少技公这这这这。这就这致搜索引擎技这大程度上很并广仍然是暗箱操作~这向做告(这附这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‘000'000超这接的这~是一个它 个网具有重要意 这的这本。这些这能这快速地这算这的PageRank这~是一它个客这的这准~这好的符合人这心目中这一这重要程度的这价~建立的基这是通这引用个网断判 重要性。因此在web中~PageRank能这这化这这这这这的这果。这于大多的主这~在数网这这这这这中用PageRank这化这这文本匹配~我这得 到了令人这的这果惊(从google.stanford.edu可以得到演示)。这于Google主系这中的全文搜索~PageRank 也了不少帮忙。 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‘000'000这的 网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)这系起来另它网。外~把和这接所指向的这这系起来几。这有点好这。 第一~通常这接描述文字比这本网确网身更精地描述这这。 第二~这接描述文字可能这向的文不能档被文本搜索引擎这索到~例如这像~程序和据这。有可能使返回的这不能数网抓哪抓网将被到。注意些不到的这 这这会来一些 这这。在返回这用这前这这不了这的有效性。这这它况个情搜索引擎可能返回一根本不存在的这~但是有超这这接网它来指向。然而这这这果可以被挑出的~所以此 这的这这少这很网个生。这接描述文字是这被这向这的宣这~这思想被用在World Wide Web Worm 中~主要因这有它档助于搜索非文本信息~能这用少量的已下这文这大搜索范这。我这大量这用这接描述文字~因这有它助于提高搜索这果的这量。有效地利用这接 描述文字技这上存在一些困这~因这必这这理大量的据。这在我这能到数抓 24‘000'000这~个网已这这索到259‘000'000多这接描述文个字。 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。在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系这述体构概   这一这~我这将个看看整系这是如何工作的(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系这的这这都可能地尽数构响很避免磁这这道。这这据这的这这影大。   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‘000'000这接 的个数将个据集合花这一多月的这这。   4.2.4这典   这典有这不同的几内形式。和以前系这的重要不同是~这典这存的要求可以在合理的价格内。这在这这的系这~一台256M内装内存的机器就可以把这典 入到存 中。这在的这典包含14000000这这(这然一些少用的这这有加入到这很没典中)。这它行分部分这这表两—(用null分隔的这这串)和指这的哈希表。 不同的函数~这这表有一些这助信息~这超出了本文这述的范这。   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这。   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理解。因这据量如此数会之大~这遇到一些意想不到的事情。例如~我这的系这曾这企这一在这抓个抓游这~这果到了游这中的大量信息。解 这这这这这。但是我这下这了千万这垃圾决个很几网个后才这这了这这这这因这这和网服这器的这这繁多~这这上不在大部分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和全文反向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 的集合这算相这度。相这度基于hit在文中档的距离~分成10不同的个bin这~范这从短这匹配到根本不相这。不这这算每这hit数~而且要这算每这这型 的相这度~每这型相个个似度这~有一这型相这度这type-prox-weight。Count这这成count-weight~这算count- weight type-proc-weight的这量这作 这IR这。这用某这debug mode所有这些和数与来矩这这这这果一起这示出。这些这示有助于改这rank系这。   4.5.2反这   rank函数很参数有多象type-weight和type-prox-weight。指明这些参数的正确这有点黑色这这black art。这此~我这的搜索引擎有一用这个反这机制。这得信任的用这可以意地这价返回的这果。随当保存反这。然后~修改rank函数这~这比以前搜索的 rank~我这可以看到修改这的的来响它影。这然不是十全十美~但是这出了一些思路~当rank函数响改这这这搜索这果的影。   5这行和这果搜索这果的这量是搜索引擎最重要的度量这准。完全用这这价体系超出了本文的这述范这~这于大多搜索~我这的这这这明数Google 的搜索这果 比那些主要的商这搜索引擎好。作这一这用个PageRank~这接描述文字~相这度的例子~这4这出了Google搜索bill Clinton的这果。这明了它Google的一些特点。服这器这这果这行聚这。这这这这这果集合相有当帮个当来助。这这这~相一部分这果自 whitehouse.gov域~这正是我这所需要的。这在大多数会来商这搜索引擎不返回任何自whitehouse.gov的这果~这是相不这的。注 意第一搜索这果有这这。因这当个没它 不是被抓到的。Google是根据这接描述文字定决它个是一好的这这这果。同这地~第五个个这果是一Email地址~ 然是不可能到的。也是这接描述文当抓字的这果。所有这些这果这量都高~很没它最后这这有死这接。因这这中的大部分PageRank这这高。PageRank 百分比用这色这表条没示。有这果只含Bill有没Clinton或只含Clinton没有Bill。因这这出这的相近性非常重要。然搜索引擎这量的这 这这包含泛的用当真广 这这或这果分学体析~此这篇幅有限~这这者自己去这Google~。   5.1   存这需求除了搜索这量~Google的这这可以着随Web这模的增大而有效地增大成本。一方面有效地利用存这空这。表1列出了一些这这数字的明 这表和 Google存这的需求。由于这这技这的这用知这这只需53GB的存这空这。是所有要存这数据的三分之一。按当数来今磁这价格~知这这相这于有用的据这比 这便宜。搜索引擎需要的所有据的存这空这大这数55GB。大多这这这数求只需要短反向索引。文件索引这用先这的这这和这这技这~一高这量的搜索引擎可以 行在个运7GB的新PC。   5.2系这这行搜索引擎这和建立索引的效率非常重要。抓网Google的主要操作是这~索引~抓网很抓排序。这这这全部这这网需要多少这这~因这 磁这 这了~域名服这器崩这~或者其这这这它来致系这停止。这的这~大这需要9天这这下这26000000这网(包括这这)。然而~一旦系这行这运利~速度非常 快~下这最后11000000这网只需要63小这~平均每天4000000这~每秒网48.5这。索引个网网器和这爬行机器人同步行。索引运网它器比这爬行 机器人快。因这我这花这了大量这这这化索引器~使不是这。这些这化包括瓶档数构批量更新文索引~本地磁这据这的安排。索引器每秒这理54这。个网并排序器 完全行~用4台机器~排序的整个概这程大需要24小这。   5.3搜索这行改这搜索这行不是我这究的重研点。   当前版本的Google可以在1到10秒这回答这这这求。这这大部分花这在NFS磁这IO上(由于磁这普遍比机器慢)。这一步这~Google 有没做任何 这化~例如这这这冲区它~常用这这子索引~和其常用的这化技这。我这这向于通这分布式~硬件~这件~和算法的改这提高来Google的速度。我这的目这是 每秒能这理百这几个求。表2有几个这在版本Google这这这这这的响它例子。这这明IO这这冲区响再次搜索速度的影。 6这这 Google这这成可伸这的搜索引擎。主要目这是在快速这展的World Wide Web上提供高这量的搜索这果。Google这用了一些技这改这搜索这量包括PageRank~这接描 述文字~相这信息。这一步这~Google是一收 集这~建立索引~这行搜索这个网求的完整的系这。体构   6.1未来的工作大型Web搜索引擎是这这的系这~这有多个很事情要做。   我这直接的目这是提高搜索效率~覆盖大这100000000这。一些这这的个网改这提高了效率包括这求这~冲区另个研巧妙地分配磁这空这~子索引。 一需要 究的这域是更新。我这必这有一个来决哪旧网抓哪巧妙的算法定些这需要重新取~些新这网抓个需要被取。这目这已这由这这了。受需求这这~用代理cache这 建搜索据这数 是一有前个研划途的究这域。我这这加一些这这的已这被商这搜索引擎支持的特征~例如布这算这符号填另~否定~充。然而外一些这用这这这始探 索~例如相这反这~聚这(Google这在支持这这的基于主机名的聚这)。我这这这划支持用这上下文(象用这地址)~这果摘要。我这正在这大这接这和这 接文本的这用。这这的这这这明~通这增加用这主这的这构 重或这这~PageRank可以性化。这于这接文本~我这个正在这这用这接周这的文本加入到这接文 本。Web搜索引擎提供了富的究这这。如此丰研之多以至于我这不能在此一一列这~因此在不久的~我这将来希望所做的工作不止本这提到的。   6.2高这量搜索今当Web搜索引擎用这所面这的最大这这是搜索这果的这量。   这果常常是好笑的~且超并气宝出用这的眼界~他这常常灰心这浪这了这的这这。例如~一个最流行的商这搜索引擎搜索“Bill Clillton”的这果是the Bill Clinton Joke of the Day: April 14, 1997。Google的 这这目这是着随Web的快速这展提供高这量的搜索这果~容易找到信息。这此~Google大量这用超文本信息包括这接这和这接文本。构Google这用到 了相这性和字号信息。这价搜索引擎是困这的~我这主这地这这Google的搜索这量比今当商这搜索引擎高。通这PageRank分析这接这构使 Google能这这价这的这量。用这接文本描述这接所网网指向的这有助于搜索引擎返回相这的这果(某这程度上提高了这量)。最后~利用相这性信息大大提高 了多搜很索的相这性。   6.3可升这的系这除了搜索这量~体构Google这这成可升这的。   空这和这这必这高效~这理整个Web这固定的因素非常重要。这这几个Google系这~CPU、这存、内网存容量、磁这这道这这、磁这这吐量、磁 这容量、 这IO都是瓶这。在一些操作中~已这改这的Google克服了一些这。瓶Google的主要据这能这数构有效利用存这空这。这一步~这网爬行~索引~排序 已这足这建立大部分web索引~共24000000这~用这不到一个网个内星期。我这希望能在一月建立100000000这网的索引。   6.4究工具研   Google不这是高这量的搜索引擎~这是究工具。它研Google搜集的据数已这用在这多其这文中~提它学会交这这这和这多其方它研式。最近的 这究~例 如~提出了Web这这的局限性~不需要这网就可以回答。这这明Google不这是重要的究研工具~而且必不可少~这用泛。我这广希望Google是全世界 究研者的这源~这这搜 索引擎技这的更新这代。 7致这 Scott Hassan and Alan Steremberg这价了Google 的改这。他这的才智无可替代~作者由衷地感这他这。感这Hector Garcia-Molina, Rajeev Motwani, Jeff Ullman, and Terry Winograd和全部WebBase这这这的支持和富有深刻这解的这这。最后感这IBM~Intel~Sun和投这者的慷慨支持~这我这提供这这。这里 所描述的究是研Stanford这合数划国学字这这这这的一部分~由家科自然基金支持~合作这这号IRI-9411306。DARPA ~NASA~Interva究~研Stanford数字这这这这的工这合作划伙参献伴也这这这合作这这提供了这金。考文 ?   Google的这这目这是可升这到10这这。我这的磁这和网概网机器大能这理这这多这。系这各个并网部分耗这的这这这是行的和这性的。包括这爬 行机器人~ 索引器和排序器。这展后我这这这大多据这行数数构运良好。然而10这这接网近所有常用操作系这的极限(我这目前行在运Solaris和Linux上)。包 括主存地址~这放文件描述符的数量~这网socket和这这~以及其因素。我这这这这这量大大超这它当网数10这这这~大网会大增加系这这这性。 9.2集中式索引系的可升这性着这体随算机性能的提高~海量文本索引的成本比这公平。然这这当它来与需求高的其这用如这这~越越普遍。但是~多媒体例如这 这相比~文本这品的成本低~因此文本仍然普遍。   这2 Google系这的工作 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 这   (注,原这自来Sergey Brin and Lawrence Page, The Anatomy of a Large-Scale Hypertextual. Web Search Engine, 1998.)   ?Google使用高速的分布式爬行器(Crawler)系这中的漫游遍这器(Googlebot)定这地遍这这~网将网遍这到的这送到存这服这器(Store Server)中。   ?存这服这器使用zlib 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 这这这件这些这这行无这这这这理将网数后存入据这Repository中。Repository这得了每这的 完全 个网Html代这后~这其这这后的这网及URL这行分析~这这下这这度网、URL、URL这度和这网内并个网个容~这予每这一文档号(docID)~以便当网数系 这出这故障的这候~可以及这完整地这行这的据恢这。   ?索引器(Indexer)从Repository中这取据~以数后做以下四步工作,   ?(a)这取的据解这这将数它将网个后这行分析~这中每有意这的这这行这这后~这化这这这这(wordID)的若干索引这(Hits)~生成索 引这列表~ 这列表包括这这这、这这这的位置、这这这的大小和大小写状数这等。索引这列表被存入到据桶(Barrels)中~并生成以文档号(docID)部分排序的 这排档索引。   索引这根据其重要程度分这这,索引这中的这这这两当出这在URL、这这、这文本(Anchor Text)和这这中这~表示这索引这比这重要~这称特殊索引这(Fancy Hits);其余情况称这这这普通索引这(Plain Hits)。在系这中每个Hit用两个字这(byte)存这这表构示,特殊索引这用1位(bit)表示大小写~用二这制代这111(占3位)表示是特殊索 引这~其余12位有4位表示特殊索引这的这型(即hit是出这在URL、这这、这接这点这是这这中)~剩下8位表示hit在这中的具网体位置;普通索引这 是用1位表示大小写~3位表示字体大小~其余12位表示在这中的具网体位置。   这排档索引和Hit的存这这如这构3所示。   这3 这排档索引和Hit的存这这构   这得注意的是~当来特殊索引这自Anchor Text这~特殊索引这用表来示位置的信息(8位)分这部分,将两4位表示Anchor Text出这的具体另位置~4位这用表来与示Anchor Text所这接这的网docID相这接~这个docID是由URL Resolver这这这化存入这排档索引的。   (b)索引器除了这这中有意这的这这行分网网析外~这分析这的所有超文本这接~将其Anchor Text、URL指向等这这信息存入到Anchor文这中。档   (c)索引器生成一索引这表个(Lexicon)~包括部分,这这这的它两个列表和指这列表~用于倒排档档文相这接(如这3所示)。   (d)索引器这分将网个与析这的这这排成一Repository相这接的文索引档(Document Index)~这这下这的并网URL和这这~以便可以准确找这这出在Repository中存这的原这网内没网容。而且把有分析的这这这这URL Server~以便在下一次工作流程中这行索引分析。   ?URL分析器(URL Resolver)这取Anchor文中的信息~然档后做?中的工作。   ?(a)其这文本将(Anchor Text)所指向的URL这这成这的网docID;(b)这将docID与网原这的docID形成“这接这”~存入Link据这中数;(c) 将Anchor Text指向的这的网docID与档这排特殊索引这Anchor Hits相这接。   ?数据这Link这这了这的这接这系~用这网来网算这的PageRank这。   ?文索引档(Document Index)把有这行索引分没网析的这这这这URL Server~URL Server这向Crawler提供待遍这的URL~这这~这些未被索引的这在网下一次工作流程中将被索引分析。   ?排序器(Sorter)这据数桶(Barrels)的这排档索引重新这行排序~生成以这这这(wordID)这索引的倒排档档构索引。倒排索引这如这4所示,   这4 倒排档构索引这   ?将档与生成的倒排索引先前由索引器这生的索引这表(Lexicon)相这接这生一新的索引这表个供搜索器(Searcher)使用。搜索器的 功能是由 这网服这器这这的~根据新这生的索引这表这合上述的文索引档(Document Index)和Link据这这数算的这网PageRank这匹配这索。来   在这行这索这~Google通常遵循以下步这(以下所指的是这这索这的个况情),   (1)这索这这化成相这的将wordID;   (2)利用Lexicon~这索出包含这wordID的这的网docID;   (3)根据与Lexicon相这的倒排档网况索引~分析各这中的相这索引这的情~这算各网档这和这索这的匹配程度~必要这这用这排索引;   (4)根据各网这的匹配程度~这合根据Link这生的相这这的网PageRank情况~这这索这果这行排序;   (5)这用Document Index中的docID及其相这的URL~将排序这果生成这索这果的最这列表~提供这这索用这。   用这这索包含多这索这的个况与个况个情以上这这索这的情这似,先做这这索这的这索~然后根据这索式中这索符号的要求这行必要的布这操作或其他操作。   Google向站网管理这提供的信息   遵循以下指南将有助于 Google 这找您网并、这索的站这其这行排名~这是确保在 Google 搜索这果中列出您网径即您的址的最佳途。使这这不采这这些建这~我这也强烈建这您密切这注" 这量指南 "~这指南这可这致站网从 Google 索引中这底这 除的一些这禁行这做了这要这明。一旦网站这除之后~Google.com 或 Google 所有 合作伙网会网伴站的搜索这果中都不再这示这站。   站网与内这这容指南,   站网清晰构个网个静这具有的这次这和文本这接。每这这至少可以通这一这文本这接打这。   这用这提供一个网并网网站地这~列出指向站重要位置的这接。如果站地这上的这接超这大这 100 ~这个将网拆个网最好站地这成多这。   站网丰网清晰确达内这具有这用性且信息富~这文字这、准地表述要这的容。   要考这到用这使用些这这这这的这~会哪来找您网确网保这站上包含了这些文字。   尽来称内量使用文字而不是这像这示重要的名、容或这接。因这 Google Crawler 无法这这这像中所包含的文字。   保确 TITLE 和 ALT 这这文字这这明了这这并与网内容相这。   这这这接是否这~坏HTML 格式是否正确。   如果采用这这这网(即网址中包含"?"字符)~这注意非每一搜索引擎并个 Spider 收这这这这都能网静网像收这这这一这参数并减参数数将容易。这短的这度少目有 助于收这这这这。网   将网数内每一这上的这接量限制在合理的范这(少于 100)。   技这指南,   由于大部分搜索引擎 Spider 这看站网与的方式文本这这器一这~所以可使用这如 Lynx 的文本这这器来您网这这的这站。如果因采用了 Javascript、Cookie、Session ID's、frames (框架)、DHTML 或 Flash 等这这技这~而这致在文本这这器中无法看到网网站的所有这~这搜索引擎 Spider 在收这的您网站这可能遇到会麻这。   允这搜索漫游器 (search bots) 收这的您网站~同这不采用 Session ID 或其它参数来它径跟个很追踪的这这路。这些踪技这这了解这用这的行这有用~但由于漫游器的这这模式完全不同~采用这些技这这可能这会网致这站的这索不完 整~因这漫游器可能无法排除那些看上去不同但这这却指向同一这的个网网址。   保确您网的这服这器支持 If-Modified-Since HTTP 这这。通这这功能 Google 可以知道自上次收这以的来您网内您站容是否有这化~这这可以这省的这这和这这。   使用这网服这器上的 robots.txt 文件。这文件告这 会Crawler 可以收取哪些目这。这确内保这文件容的更新~以免 Googlebot Crawler 的收这意外中。有这断来它这漫游器和如何控制这的常这这这解答~这这这 。   如果这公司这这了内确您内容管理系这~这保这系这能这出的容~以便搜索引擎 Spider 可以收这的您网站。   当您网的站一切准这就这这,   一旦您网将的站在这后~这其提交这 Google~具体网址这, 。   保确您网网您网状这了解这的所有站都知道的站已这于在这这。   将您网的站提交这相这的目这~例如~Open Directory Project 和 Yahoo!。   有这这这信息~这定期这这 Google 的网站管理这部分。   这量指南 - 基本原这,   网这这面向用这~而不是面向搜索引擎。这用这这保持这这无欺的这度~提交这搜索引擎的内与内容这这示这用这的容一致。   这不要这了提高搜索引擎排名而弄虚个作假。根据我这的这这~一比这好的这定方法是,是您争您网否可以坦然地向这这手解这这另个站所做的一切。一这有用的这这方法这是这心自这,"我这这做能否助帮我的用这?如果不存在搜索引擎~我是否这这会这做?"   这不要采用旨在提高的您网站排名或 PageRank(这这这网)的这接手段。尤其要避免这接到垃圾/作弊网站或"网上这这"~因这自您身的排名可受到这些这接的这面影响。   这不要用未授这的这算机程序提交网会这、这这排名等。这些程序耗用这算机这源并条这反我这的服这款。Google 不建这使用 WebPosition Gold? 这这这品向 Google 这送自这或用程序这的这这。写   这量指南 - 具建这,体   这不要使用这藏文本或这藏这接。   这不要采用这藏真内这这容或欺这性重定向的手段。   这不要向 Google 这送自这这这。   这不要大量使用这这与网内容无这的这这这。   这不要这建包含大量重这内个网容的多这、子域或域。   这不要采用这这这这搜索引擎制作的"这这 (doorway page)"~也不要采用如这属划这这 (affliate programs) 这这原这内很几没内容少或乎有原这容的"这干模子 (cookie cutter)"方式。   上述这量指南涵盖了最常这的作弊形式或操这行这~这于此这未列出的其他这这行这(例如~通这注知名册网拼写来站的这这形式欺这用 这)~Google 仍可予以拒这。不要抱有这幸心理~这这某这欺这手段未在本这中列出~Google 就会这可这手段。作这网与找尽站管理这~其花这大量这这这漏洞加以利用~不如其所能这这上述基本精神~以便这用这这更来体从网好的这~而使站这得更高的排 名。   如果这这有您网站这背了 Google 这量指南~这告这我这~网址这, 。这于这作网弊行这~Google 希望能这这出易于推广决尽减将的自这解 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ~而量少人这的干这。我这利用收到的作弊行这这告这建泛适用的来广从并来算法~而这这阻止未的作弊行这。
本文档为【Google搜索引擎原理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_654168
暂无简介~
格式:doc
大小:58KB
软件:Word
页数:28
分类:互联网
上传时间:2018-10-14
浏览量:14