论文部分内容阅读
当你打开Google,输入一个关键词,几乎不用等待就能看到数百万个搜索结果,这些结果涵盖了几乎整个Internet上的网页,这真是一件神奇的事情。它怎么就能这么快呢?Google是怎么找到相关网页的?下面我们就一起来看看这个神秘的家伙,看看搜索引擎究竟是如何工作的吧……
蜘蛛出动!把网页都给我搬回来!
可能大家都知道搜索引擎的“蜘蛛”(Spider),也有人称之为“机器人”(bot),不过很多人对它却有个误解—认为这些“蜘蛛”每天都在各个网站的服务器上爬来爬去,直至所有网络服务器。实际上,所有搜索引擎的“蜘蛛”都不会爬到别的服务器的,他们都乖乖地呆在自家的服务器里,只是在远程进行着访问。
正确的流程应该是这样的。Google发号施令:“蜘蛛们,快去互联网上巡视一翻,看看有没新网页或者原来的网页有没有更新!”这时候蜘蛛就像一个网页浏览器一样,扫描不同的IP地址,找到其中所有的站点,访问它们。如果它们是新网页(也就是Google的服务器中没有这个网页的记录),就将这个网页“抓”回Google服务器上存放起来;如果他们是旧网页,就回访一下Google服务器,对比一下两者是否有更改,如果有更改则把新的网页“抓”回Google服务器……
对于这些站点的访问是一种“顺藤摸瓜”的策略,就是说访问了某个网页后,会访问该网页链接到的所有其他网页,以次类推。这样实际上很快Google就能获得无穷无尽的网页,目前它和Yahoo!索引的网页数量都已经超过了100亿。
疯狂运算!建立索引数据库
辛勤的Google蜘蛛们把无穷无尽的网页抓回Google服务器,接下来就需要对这些散乱的网页进行梳理了,否则它们根本就是杂乱无章的,这一工作是由“索引系统程序”来完成的。该程序主要对收集回来的网页进行分析,提取中相关网页的信息(比如该网页的URL、编码类型、生成时间、大小、与其他网页的链接关系等等,根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链接中每一个关键词的相关度,然后用这些相关信息建立网页索引数据库。
以索引www.cfan.com.cn的首页为例,该站点的URL为www.cfan.com.cn,编码类型为gb2312,包含的关键字则从中抽取中英字符,诸如“电脑”、“爱好者”等等,生成时间也就是抓取的时间,而与其他网页的链接关系则是该页面链接到哪些网页。我们可以这么简单来理解,Google的索引系统程序将这些资料全部添加到一张名叫“CFAN”的表格中,再通过运算来算出这个网页在所有数据库网页中针对某个关键词(比如“电脑”)的相关度,并将这种相关度反映到该表格中。无数个类似的表格组成了整个Google索引数据库。
该步骤需要大量的数据交换和运算,而且对每个网页都会有这么一张“表格”,这也是为什么Google的服务器之间需要很高带宽的原因。
小知识
Google有多少台服务器?
从前文可以看出,Google的服务器中存放了多达上百亿的网页资料,这需要很多服务器来存储,而且这些服务器要保证互访速度和足够大的带宽。据说,2001年的时候Google每天处理大约7000万个网页,有8000台服务器;到2003年,这一数字已经变成10万台;而现在,Google拥有超过45万台服务器,分布在全球25个地方,而且平均每月购入新的服务器约有3万台。Google正在美国俄勒冈州的哥伦比亚河河畔秘密研发新的数据中心,其占地有两个足球场那么大(见图)!

小知识
为何你的网站不能被Google到?
根据前文的介绍,实际上Google的蜘蛛出动也是有时间间隔的,而且它不可能随时到跑到你的网站上去抓取更新,所以当你的网站有更新时,一般要过数天才能被Google收录。当然,也不排除你的站点因为某些原因而被Google屏蔽掉了。你可以在Google中搜索“site:www.xxx.com”(其中xxx.com为你的站点的顶级域名),如果没有获得结果,则表明你的站点可能被Google放到“黑名单”了(见图)。
让Google更好地索引你的站点
从前文大家知道了Google的蜘蛛会主动去分析、抓取站点的更新,不过毕竟蜘蛛也有休息或者忙不过来的时候,于是Google就发布了一个Sitemap功能,让大家可以主动提交自己站点的更新。这个sitemap文件是xml格式,它的作用就好像为网站提供了整站的RSS,而Google就是这些RSS的订阅者,只要网站有更新就会自动通知Google。这样一来,搜索引擎的收录由被动变成了主动,辛苦的Google蜘蛛们可以松口气了。
第一步:到http://www.vigos.com/download.php?product=gsitemap下载一款名为VIGOS Gsitemap的小软件(该软件的运行需要.net framework支持),运行后填入你的网站首页地址,该工具会自动爬取你网站上所有的链接,并得到最终的Sitemap,你可以将它保存成xml文件。
第二步:将该sitemap文件上传到你的网站服务器上,最好是网站的根目录,以sitemap.xml命名。
第三步:打开Google sitemap提交站:https://www.google.com/webmasters/sitemaps/siteoverview,登录你的Google账户,在“添加网站”一栏输入你的网站地址,并点击进入“添加一个Sitemaps文件”链接(见图1),在打开的页面中“选择类型”下拉菜单中选择“添加常规网络Sitemap”,最后在“我的Sitemap网址为”栏添入你上传的sitemap.xml文件地址,并单击“添加普通Sitemaps”按钮(见图2)。
Google IT!搜索并排序
接下来的事情就是用户在Google里搜索东西了,当我们在Google中搜索“电脑爱好者”时,Google发生了什么呢?它为什么返回的第一个结果就是《电脑爱好者》的网站呢?并不是Google聪明,而这背后是经过成百上千个条件的选择来排序的。
当用户输入关键词后,Google会分解搜索请求,由搜索系统程序从网页索引数据库中找到符合这个关键词的所有相关网页(也就是分析前文提到的那些“表格”)。有相关网页针对关键词的相关信息在索引库中都有记录,只需综合相关信息和网页级别形成相关度数值,然后进行排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
比如说cfan.com.cn就是与“电脑爱好者”和“爱好者”这两个关键词的相关性最高的站点,所以它会排在这两个关键词搜索结果的第一位,而它与“电脑”这个关键词的相关性并非最高,所以用“电脑”做关键词,www.cfan.com.cn没有排在第一位。

让Google更“喜欢”你
既然Google认为“从许多优质的网页链接过来的网页,必定还是优质网页”,那要想让你的网站获得Google的青睐,并为你带来流量,一个比较好的办法就是提高你的网站的PageRank值,也就是让更多的网站链接你的网站。当然,对于一般的个人网站来说,不可能让别人平白无故地链接你的站点而你不给任何回报,所以一个折中方案就是—和更多的网站做友情链接。这会让Google在网页排序的时候更倾向于将你排到前面。
小知识
Google怎么知道哪个网页是你想要的搜索结果?
用过Google的人都知道,它的搜索结果很多时候正好符合我们的需求。Google为什么这么聪明?那是因为它相信一点——“从许多优质的网页链接过来的网页,必定还是优质网页”,基于这一理念,Google设计出了PageRank算法,这是目前搜索引擎中比较通用的一种网页排序规则。该规则非常复杂,不过原理就是这么一句话。近一段时间,有一些公司提出了PeopleRank算法,主要用于社区、论坛的搜索,比如奇虎网的论坛搜索引擎:http://www.qihoo.com(见图)
蜘蛛出动!把网页都给我搬回来!
可能大家都知道搜索引擎的“蜘蛛”(Spider),也有人称之为“机器人”(bot),不过很多人对它却有个误解—认为这些“蜘蛛”每天都在各个网站的服务器上爬来爬去,直至所有网络服务器。实际上,所有搜索引擎的“蜘蛛”都不会爬到别的服务器的,他们都乖乖地呆在自家的服务器里,只是在远程进行着访问。
正确的流程应该是这样的。Google发号施令:“蜘蛛们,快去互联网上巡视一翻,看看有没新网页或者原来的网页有没有更新!”这时候蜘蛛就像一个网页浏览器一样,扫描不同的IP地址,找到其中所有的站点,访问它们。如果它们是新网页(也就是Google的服务器中没有这个网页的记录),就将这个网页“抓”回Google服务器上存放起来;如果他们是旧网页,就回访一下Google服务器,对比一下两者是否有更改,如果有更改则把新的网页“抓”回Google服务器……
对于这些站点的访问是一种“顺藤摸瓜”的策略,就是说访问了某个网页后,会访问该网页链接到的所有其他网页,以次类推。这样实际上很快Google就能获得无穷无尽的网页,目前它和Yahoo!索引的网页数量都已经超过了100亿。
疯狂运算!建立索引数据库
辛勤的Google蜘蛛们把无穷无尽的网页抓回Google服务器,接下来就需要对这些散乱的网页进行梳理了,否则它们根本就是杂乱无章的,这一工作是由“索引系统程序”来完成的。该程序主要对收集回来的网页进行分析,提取中相关网页的信息(比如该网页的URL、编码类型、生成时间、大小、与其他网页的链接关系等等,根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链接中每一个关键词的相关度,然后用这些相关信息建立网页索引数据库。
以索引www.cfan.com.cn的首页为例,该站点的URL为www.cfan.com.cn,编码类型为gb2312,包含的关键字则从中抽取中英字符,诸如“电脑”、“爱好者”等等,生成时间也就是抓取的时间,而与其他网页的链接关系则是该页面链接到哪些网页。我们可以这么简单来理解,Google的索引系统程序将这些资料全部添加到一张名叫“CFAN”的表格中,再通过运算来算出这个网页在所有数据库网页中针对某个关键词(比如“电脑”)的相关度,并将这种相关度反映到该表格中。无数个类似的表格组成了整个Google索引数据库。
该步骤需要大量的数据交换和运算,而且对每个网页都会有这么一张“表格”,这也是为什么Google的服务器之间需要很高带宽的原因。
小知识
Google有多少台服务器?
从前文可以看出,Google的服务器中存放了多达上百亿的网页资料,这需要很多服务器来存储,而且这些服务器要保证互访速度和足够大的带宽。据说,2001年的时候Google每天处理大约7000万个网页,有8000台服务器;到2003年,这一数字已经变成10万台;而现在,Google拥有超过45万台服务器,分布在全球25个地方,而且平均每月购入新的服务器约有3万台。Google正在美国俄勒冈州的哥伦比亚河河畔秘密研发新的数据中心,其占地有两个足球场那么大(见图)!

小知识
为何你的网站不能被Google到?
根据前文的介绍,实际上Google的蜘蛛出动也是有时间间隔的,而且它不可能随时到跑到你的网站上去抓取更新,所以当你的网站有更新时,一般要过数天才能被Google收录。当然,也不排除你的站点因为某些原因而被Google屏蔽掉了。你可以在Google中搜索“site:www.xxx.com”(其中xxx.com为你的站点的顶级域名),如果没有获得结果,则表明你的站点可能被Google放到“黑名单”了(见图)。
让Google更好地索引你的站点
从前文大家知道了Google的蜘蛛会主动去分析、抓取站点的更新,不过毕竟蜘蛛也有休息或者忙不过来的时候,于是Google就发布了一个Sitemap功能,让大家可以主动提交自己站点的更新。这个sitemap文件是xml格式,它的作用就好像为网站提供了整站的RSS,而Google就是这些RSS的订阅者,只要网站有更新就会自动通知Google。这样一来,搜索引擎的收录由被动变成了主动,辛苦的Google蜘蛛们可以松口气了。
第一步:到http://www.vigos.com/download.php?product=gsitemap下载一款名为VIGOS Gsitemap的小软件(该软件的运行需要.net framework支持),运行后填入你的网站首页地址,该工具会自动爬取你网站上所有的链接,并得到最终的Sitemap,你可以将它保存成xml文件。
第二步:将该sitemap文件上传到你的网站服务器上,最好是网站的根目录,以sitemap.xml命名。
第三步:打开Google sitemap提交站:https://www.google.com/webmasters/sitemaps/siteoverview,登录你的Google账户,在“添加网站”一栏输入你的网站地址,并点击进入“添加一个Sitemaps文件”链接(见图1),在打开的页面中“选择类型”下拉菜单中选择“添加常规网络Sitemap”,最后在“我的Sitemap网址为”栏添入你上传的sitemap.xml文件地址,并单击“添加普通Sitemaps”按钮(见图2)。
Google IT!搜索并排序
接下来的事情就是用户在Google里搜索东西了,当我们在Google中搜索“电脑爱好者”时,Google发生了什么呢?它为什么返回的第一个结果就是《电脑爱好者》的网站呢?并不是Google聪明,而这背后是经过成百上千个条件的选择来排序的。
当用户输入关键词后,Google会分解搜索请求,由搜索系统程序从网页索引数据库中找到符合这个关键词的所有相关网页(也就是分析前文提到的那些“表格”)。有相关网页针对关键词的相关信息在索引库中都有记录,只需综合相关信息和网页级别形成相关度数值,然后进行排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
比如说cfan.com.cn就是与“电脑爱好者”和“爱好者”这两个关键词的相关性最高的站点,所以它会排在这两个关键词搜索结果的第一位,而它与“电脑”这个关键词的相关性并非最高,所以用“电脑”做关键词,www.cfan.com.cn没有排在第一位。

让Google更“喜欢”你
既然Google认为“从许多优质的网页链接过来的网页,必定还是优质网页”,那要想让你的网站获得Google的青睐,并为你带来流量,一个比较好的办法就是提高你的网站的PageRank值,也就是让更多的网站链接你的网站。当然,对于一般的个人网站来说,不可能让别人平白无故地链接你的站点而你不给任何回报,所以一个折中方案就是—和更多的网站做友情链接。这会让Google在网页排序的时候更倾向于将你排到前面。
小知识
Google怎么知道哪个网页是你想要的搜索结果?
用过Google的人都知道,它的搜索结果很多时候正好符合我们的需求。Google为什么这么聪明?那是因为它相信一点——“从许多优质的网页链接过来的网页,必定还是优质网页”,基于这一理念,Google设计出了PageRank算法,这是目前搜索引擎中比较通用的一种网页排序规则。该规则非常复杂,不过原理就是这么一句话。近一段时间,有一些公司提出了PeopleRank算法,主要用于社区、论坛的搜索,比如奇虎网的论坛搜索引擎:http://www.qihoo.com(见图)