google原理:crawler从urlserver获得域名列表,将搜索到的网页送入storeserver,压缩网页存入repository,并从网页中解析出一个新的url时则分配给此网页一docID.indexer读取repository,解压并解析文档,每一文档转换成一组具体值为hits的一组词。hits记录了该单词及在文档中的位置,字体大小等。indexer把这些hits分配到一组barrels中。
生成一个部分排序的正向索引,另外,indexer解析出在每一网页中的所有链接并把有关网页信息存储在anchors file中,这信息可以分辨每一链接的来龙去脉和链接文本。urlresolver读取末端文件并把相对url转换成绝对url以及docID.根据anchors file指向的docID对anchors file进行正向索引,同时生成一链接库存储docID,链接库用于进行对所有文档的pagerank.
sorter提取barrels(以docID排序),据wordID重新排序,生成倒排索引,此过程在barrel中进行,以便少占用临时空间。sorter把WordID和偏移量(在barrel中的偏移?)列表放入倒序索引,dumplexicon将此列表与indexer生成的lexicon合并,生成新的lexicon供searcher使用。searcher运用lexicon和倒排索引及pagerank响应搜索请求。
google架构图: