Googleæœç´¢åŽŸç†çš„论文(一)
《The Anatomy of a Large-Scale Hypertextual Web Search Engine》
è¿™ç¯‡æ–‡ç« ä¸ï¼Œæˆ‘们介ç»äº†google,它是一个大型的æœç´¢å¼•æ“Žï¼ˆof a large-scale search engine)的原型,æœç´¢å¼•æ“Žåœ¨è¶…文本ä¸åº”用广泛。Google的设计能够高效地抓网页并建立索引,它的查询结果比其它现有系统都高明。这个原型的全文和超连接的数æ®åº“至少包å«24000000个网页。我们å¯ä»¥ä»ŽHttp://google.stanford.edu/ 下载。
设计æœç´¢å¼•æ“Žæ˜¯ä¸€é¡¹å¯Œæœ‰æŒ‘战性的工作。æœç´¢å¼•æ“Žä¸ºä¸Šäº¿ä¸ªç½‘页建立索引,其ä¸åŒ…å«å¤§é‡è¿¥ç„¶ä¸åŒçš„è¯æ±‡ã€‚而且æ¯å¤©è¦å›žç”æˆåƒä¸Šä¸‡ä¸ªæŸ¥è¯¢ã€‚在网络ä¸ï¼Œå°½ç®¡å¤§åž‹æœç´¢å¼•æ“Žéžå¸¸é‡è¦ï¼Œä½†æ˜¯å¦æœ¯ç•Œå´å¾ˆå°‘ç ”ç©¶å®ƒã€‚æ¤å¤–由于技术的快速å‘展和网页的大é‡å¢žåŠ ,现在建立一个æœç´¢å¼•æ“Žå’Œä¸‰å¹´å‰å®Œå…¨ä¸åŒã€‚
本文详细介ç»äº†æˆ‘们的大型æœç´¢å¼•æ“Žï¼Œæ®æˆ‘们所知,在公开å‘表的论文ä¸ï¼Œè¿™æ˜¯ç¬¬ä¸€ç¯‡æ述地如æ¤è¯¦ç»†ã€‚é™¤äº†æŠŠä¼ ç»Ÿæ•°æ®æœç´¢æŠ€æœ¯åº”用到如æ¤å¤§é‡çº§ç½‘页ä¸æ‰€é‡åˆ°çš„问题,还有许多新的技术挑战,包括应用超文本ä¸çš„é™„åŠ ä¿¡æ¯æ”¹è¿›æœç´¢ç»“果。
本文将解决这个问题,æ述如何è¿ç”¨è¶…文本ä¸çš„é™„åŠ ä¿¡æ¯ï¼Œå»ºç«‹ä¸€ä¸ªå¤§åž‹å®žç”¨ç³»ç»Ÿã€‚任何人都å¯ä»¥åœ¨ç½‘上éšæ„å‘布信æ¯ï¼Œå¦‚何有效地处ç†è¿™äº›æ— 组织的超文本集åˆï¼Œä¹Ÿæ˜¯æœ¬æ–‡è¦å…³æ³¨çš„é—®é¢˜ã€‚å…³é”®è¯ 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文本(è§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利用超链接改进æœç´¢ç»“果。
2.1 PageRank:给网页排åºï¼š
Web的引用(链接)图是é‡è¦çš„资æºï¼Œå´è¢«å½“今的æœç´¢å¼•æ“Žå¾ˆå¤§ç¨‹åº¦ä¸Šå¿½è§†äº†ã€‚我们建立了一个包å«518000000个超链接的图,它是一个具有é‡è¦æ„ä¹‰çš„æ ·æœ¬ã€‚è¿™äº›å›¾èƒ½å¤Ÿå¿«é€Ÿåœ°è®¡ç®—ç½‘é¡µçš„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):
把它和链接所指å‘的网页è”系起æ¥ã€‚è¿™æœ‰å‡ ç‚¹å¥½å¤„ã€‚
第一,通常链接æè¿°æ–‡å—比网页本身更精确地æ述该网页。
第二,链接æè¿°æ–‡å—å¯èƒ½é“¾å‘的文档ä¸èƒ½è¢«æ–‡æœ¬æœç´¢å¼•æ“Žæ£€ç´¢åˆ°ï¼Œä¾‹å¦‚图åƒï¼Œç¨‹åºå’Œæ•°æ®åº“。有å¯èƒ½ä½¿è¿”回的网页ä¸èƒ½è¢«æŠ“到。注æ„哪些抓ä¸åˆ°çš„网页将会带æ¥ä¸€äº›é—®é¢˜ã€‚在返回给用户å‰æ£€æµ‹ä¸äº†å®ƒä»¬çš„有效性。这ç§æƒ…况æœç´¢å¼•æ“Žå¯èƒ½è¿”å›žä¸€ä¸ªæ ¹æœ¬ä¸å˜åœ¨çš„网页,但是有超级链接指å‘它。然而这ç§ç»“æžœå¯ä»¥è¢«æŒ‘出æ¥çš„,所以æ¤ç±»çš„问题很少å‘生。链接æè¿°æ–‡å—是对被链å‘ç½‘é¡µçš„å®£ä¼ ï¼Œè¿™ä¸ªæ€æƒ³è¢«ç”¨åœ¨World Wide Web Worm ä¸ï¼Œä¸»è¦å› 为它有助于æœç´¢éžæ–‡æœ¬ä¿¡æ¯ï¼Œèƒ½å¤Ÿç”¨å°‘é‡çš„已下载文档扩大æœç´¢èŒƒå›´ã€‚我们大é‡åº”用链接æè¿°æ–‡å—ï¼Œå› ä¸ºå®ƒæœ‰åŠ©äºŽæ高æœç´¢ç»“果的质é‡ã€‚有效地利用链接æè¿°æ–‡å—技术上å˜åœ¨ä¸€äº›å›°éš¾ï¼Œå› 为必须处ç†å¤§é‡çš„æ•°æ®ã€‚现在我们能抓到24000000个网页,已ç»æ£€ç´¢åˆ°259000000多个链接æè¿°æ–‡å—。
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)
首先,我们æ供高水平的有关体系结构的讨论。然åŽï¼Œè¯¦ç»†æè¿°é‡è¦çš„æ•°æ®ç»“构。最åŽï¼Œä¸»è¦åº”用:抓网页,索引,æœç´¢å°†è¢«ä¸¥æ ¼åœ°æ£€æŸ¥ã€‚ Figure 1. High Level Google Architecture
4.1Google体系结构概述
这一节,我们将看看整个系统是如何工作的(give a high level),è§å›¾1。本节ä¸è®¨è®ºåº”用和数æ®ç»“构,在åŽå‡ 节ä¸è®¨è®ºã€‚为了效率大部分Google是用c或c++实现的,既å¯ä»¥åœ¨Solaris也å¯ä»¥åœ¨Linux上è¿è¡Œã€‚
Google系统ä¸ï¼ŒæŠ“ç½‘é¡µï¼ˆä¸‹è½½ç½‘é¡µï¼‰æ˜¯ç”±å‡ ä¸ªåˆ†å¸ƒå¼crawlers完æˆçš„。一个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知识库 Figure 2. Repository Data Structure 知识库包å«æ¯ä¸ªç½‘页的全部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)如果大于这些比特所能表示的长度,用溢出ç 填充,其åŽä¸¤å—节是真æ£çš„长度。 Figure 3. Forward and Reverse Indexes and the Lexicon
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。我们首先查第一组索引桶,看有没有匹é…的项,然åŽæŸ¥è¾ƒå¤§çš„那组桶。
Googleæœç´¢åŽŸç†çš„论文(一)
最后编辑: 郝聪 编辑于2008/02/19 16:29
è¿™ç¯‡æ–‡ç« ä¸ï¼Œæˆ‘们介ç»äº†google,它是一个大型的æœç´¢å¼•æ“Žï¼ˆof a large-scale search engine)的原型,æœç´¢å¼•æ“Žåœ¨è¶…文本ä¸åº”用广泛。Google的设计能够高效地抓网页并建立索引,它的查询结果比其它现有系统都高明。这个原型的全文和超连接的数æ®åº“至少包å«24000000个网页。我们å¯ä»¥ä»ŽHttp://google.stanford.edu/ 下载。
设计æœç´¢å¼•æ“Žæ˜¯ä¸€é¡¹å¯Œæœ‰æŒ‘战性的工作。æœç´¢å¼•æ“Žä¸ºä¸Šäº¿ä¸ªç½‘页建立索引,其ä¸åŒ…å«å¤§é‡è¿¥ç„¶ä¸åŒçš„è¯æ±‡ã€‚而且æ¯å¤©è¦å›žç”æˆåƒä¸Šä¸‡ä¸ªæŸ¥è¯¢ã€‚在网络ä¸ï¼Œå°½ç®¡å¤§åž‹æœç´¢å¼•æ“Žéžå¸¸é‡è¦ï¼Œä½†æ˜¯å¦æœ¯ç•Œå´å¾ˆå°‘ç ”ç©¶å®ƒã€‚æ¤å¤–由于技术的快速å‘展和网页的大é‡å¢žåŠ ,现在建立一个æœç´¢å¼•æ“Žå’Œä¸‰å¹´å‰å®Œå…¨ä¸åŒã€‚
本文详细介ç»äº†æˆ‘们的大型æœç´¢å¼•æ“Žï¼Œæ®æˆ‘们所知,在公开å‘表的论文ä¸ï¼Œè¿™æ˜¯ç¬¬ä¸€ç¯‡æ述地如æ¤è¯¦ç»†ã€‚é™¤äº†æŠŠä¼ ç»Ÿæ•°æ®æœç´¢æŠ€æœ¯åº”用到如æ¤å¤§é‡çº§ç½‘页ä¸æ‰€é‡åˆ°çš„问题,还有许多新的技术挑战,包括应用超文本ä¸çš„é™„åŠ ä¿¡æ¯æ”¹è¿›æœç´¢ç»“果。
本文将解决这个问题,æ述如何è¿ç”¨è¶…文本ä¸çš„é™„åŠ ä¿¡æ¯ï¼Œå»ºç«‹ä¸€ä¸ªå¤§åž‹å®žç”¨ç³»ç»Ÿã€‚任何人都å¯ä»¥åœ¨ç½‘上éšæ„å‘布信æ¯ï¼Œå¦‚何有效地处ç†è¿™äº›æ— 组织的超文本集åˆï¼Œä¹Ÿæ˜¯æœ¬æ–‡è¦å…³æ³¨çš„é—®é¢˜ã€‚å…³é”®è¯ 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文本(è§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利用超链接改进æœç´¢ç»“果。
2.1 PageRank:给网页排åºï¼š
Web的引用(链接)图是é‡è¦çš„资æºï¼Œå´è¢«å½“今的æœç´¢å¼•æ“Žå¾ˆå¤§ç¨‹åº¦ä¸Šå¿½è§†äº†ã€‚我们建立了一个包å«518000000个超链接的图,它是一个具有é‡è¦æ„ä¹‰çš„æ ·æœ¬ã€‚è¿™äº›å›¾èƒ½å¤Ÿå¿«é€Ÿåœ°è®¡ç®—ç½‘é¡µçš„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):
把它和链接所指å‘的网页è”系起æ¥ã€‚è¿™æœ‰å‡ ç‚¹å¥½å¤„ã€‚
第一,通常链接æè¿°æ–‡å—比网页本身更精确地æ述该网页。
第二,链接æè¿°æ–‡å—å¯èƒ½é“¾å‘的文档ä¸èƒ½è¢«æ–‡æœ¬æœç´¢å¼•æ“Žæ£€ç´¢åˆ°ï¼Œä¾‹å¦‚图åƒï¼Œç¨‹åºå’Œæ•°æ®åº“。有å¯èƒ½ä½¿è¿”回的网页ä¸èƒ½è¢«æŠ“到。注æ„哪些抓ä¸åˆ°çš„网页将会带æ¥ä¸€äº›é—®é¢˜ã€‚在返回给用户å‰æ£€æµ‹ä¸äº†å®ƒä»¬çš„有效性。这ç§æƒ…况æœç´¢å¼•æ“Žå¯èƒ½è¿”å›žä¸€ä¸ªæ ¹æœ¬ä¸å˜åœ¨çš„网页,但是有超级链接指å‘它。然而这ç§ç»“æžœå¯ä»¥è¢«æŒ‘出æ¥çš„,所以æ¤ç±»çš„问题很少å‘生。链接æè¿°æ–‡å—是对被链å‘ç½‘é¡µçš„å®£ä¼ ï¼Œè¿™ä¸ªæ€æƒ³è¢«ç”¨åœ¨World Wide Web Worm ä¸ï¼Œä¸»è¦å› 为它有助于æœç´¢éžæ–‡æœ¬ä¿¡æ¯ï¼Œèƒ½å¤Ÿç”¨å°‘é‡çš„已下载文档扩大æœç´¢èŒƒå›´ã€‚我们大é‡åº”用链接æè¿°æ–‡å—ï¼Œå› ä¸ºå®ƒæœ‰åŠ©äºŽæ高æœç´¢ç»“果的质é‡ã€‚有效地利用链接æè¿°æ–‡å—技术上å˜åœ¨ä¸€äº›å›°éš¾ï¼Œå› 为必须处ç†å¤§é‡çš„æ•°æ®ã€‚现在我们能抓到24000000个网页,已ç»æ£€ç´¢åˆ°259000000多个链接æè¿°æ–‡å—。
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)
首先,我们æ供高水平的有关体系结构的讨论。然åŽï¼Œè¯¦ç»†æè¿°é‡è¦çš„æ•°æ®ç»“构。最åŽï¼Œä¸»è¦åº”用:抓网页,索引,æœç´¢å°†è¢«ä¸¥æ ¼åœ°æ£€æŸ¥ã€‚ Figure 1. High Level Google Architecture
4.1Google体系结构概述
这一节,我们将看看整个系统是如何工作的(give a high level),è§å›¾1。本节ä¸è®¨è®ºåº”用和数æ®ç»“构,在åŽå‡ 节ä¸è®¨è®ºã€‚为了效率大部分Google是用c或c++实现的,既å¯ä»¥åœ¨Solaris也å¯ä»¥åœ¨Linux上è¿è¡Œã€‚
Google系统ä¸ï¼ŒæŠ“ç½‘é¡µï¼ˆä¸‹è½½ç½‘é¡µï¼‰æ˜¯ç”±å‡ ä¸ªåˆ†å¸ƒå¼crawlers完æˆçš„。一个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知识库 Figure 2. Repository Data Structure 知识库包å«æ¯ä¸ªç½‘页的全部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)如果大于这些比特所能表示的长度,用溢出ç 填充,其åŽä¸¤å—节是真æ£çš„长度。 Figure 3. Forward and Reverse Indexes and the Lexicon
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。我们首先查第一组索引桶,看有没有匹é…的项,然åŽæŸ¥è¾ƒå¤§çš„那组桶。
Googleæœç´¢åŽŸç†çš„论文(一)
相关日志
è°·æŒç©¿è¶Šæœç´¢-è°·æŒå®˜æ–¹æ„šäººèŠ‚玩笑
Google将在æœç´¢ç»“果排å算法ä¸è€ƒè™‘æ¥è‡ªTwitterã€Quoraç‰ç¤¾ä¼šåŒ–网络社区的内容
桥页SEO:网站自我æ¯ç工具
《Google官方SEO入门指å—》å四: 对网站管ç†å‘˜æœ‰ç”¨çš„资æº(完)
《Google官方SEO入门指å—》å三:充分利用网站分æžå·¥å…·
《Google官方SEO入门指å—》å二:充分利用å…费的网站管ç†å‘˜å·¥å…·
《Google官方SEO入门指å—》å一:以æ°å½“çš„æ–¹å¼æŽ¨å¹¿ä½ 的网站
《Google官方SEO入门指å—》åï¼šä¸ºé“¾æŽ¥æ·»åŠ nofollow属性
《Google官方SEO入门指å—》ä¹ï¼šæœ‰æ•ˆä½¿ç”¨robots.txt
《Google官方SEO入门指å—》八:网页图片优化
è°·æŒç©¿è¶Šæœç´¢-è°·æŒå®˜æ–¹æ„šäººèŠ‚玩笑
Google将在æœç´¢ç»“果排å算法ä¸è€ƒè™‘æ¥è‡ªTwitterã€Quoraç‰ç¤¾ä¼šåŒ–网络社区的内容
桥页SEO:网站自我æ¯ç工具
《Google官方SEO入门指å—》å四: 对网站管ç†å‘˜æœ‰ç”¨çš„资æº(完)
《Google官方SEO入门指å—》å三:充分利用网站分æžå·¥å…·
《Google官方SEO入门指å—》å二:充分利用å…费的网站管ç†å‘˜å·¥å…·
《Google官方SEO入门指å—》å一:以æ°å½“çš„æ–¹å¼æŽ¨å¹¿ä½ 的网站
《Google官方SEO入门指å—》åï¼šä¸ºé“¾æŽ¥æ·»åŠ nofollow属性
《Google官方SEO入门指å—》ä¹ï¼šæœ‰æ•ˆä½¿ç”¨robots.txt
《Google官方SEO入门指å—》八:网页图片优化
最后编辑: 郝聪 编辑于2008/02/19 16:29