互联网搜索引擎工作原理

[09-12 12:34:32]   来源:http://www.88dzw.com  电路基础   阅读:8591

文章摘要:这些方法通常是为了尽量加快蜘蛛程序的速度,或使用户可以更有效地进行搜索,或二者兼而有之。例如,有些蜘蛛程序会追踪标题、副标题和链接中的词语,以及网页中最常用的100个词和文章前20行中的每一个词。据说Lycos就是使用这种方法爬网的。 其他系统,如比AltaVista,则反其道而行之,检索网页中的每一个字,包括a、an、the以及其他“不重要”的词。人们完善这种方法的干劲从未减弱,而另一些系统则通过其它方法与之抗衡。比如关注网页的不可见部分,即元标记。 元标记元标记允许网页所有者来设定检索网页的关键字或概念。这很有用,特别是在网页中的词语有多个含义的时候——元标记可以引导搜索引擎在这些词的几种

互联网搜索引擎工作原理,标签:电子电路基础,模拟电路基础,http://www.88dzw.com

这些方法通常是为了尽量加快蜘蛛程序的速度,或使用户可以更有效地进行搜索,或二者兼而有之。例如,有些蜘蛛程序会追踪标题、副标题和链接中的词语,以及网页中最常用的100个词和文章前20行中的每一个词。据说Lycos就是使用这种方法爬网的。

其他系统,如比AltaVista,则反其道而行之,检索网页中的每一个字,包括a、an、the以及其他“不重要”的词。人们完善这种方法的干劲从未减弱,而另一些系统则通过其它方法与之抗衡。比如关注网页的不可见部分,即元标记。

元标记

元标记允许网页所有者来设定检索网页的关键字或概念。这很有用,特别是在网页中的词语有多个含义的时候——元标记可以引导搜索引擎在这些词的几种可能含义中选择正确的一项。但是,过分依赖元标记有一个危险:粗心或不负责任的网页所有者会添加一些对应热门话题的元标记,但是与网页实际内容没有任何关系。为了防止此种事情发生,蜘蛛程序会比对元标记和网页内容,剔除那些与网页词语不符的元标记。

上述方法均基于一个假设,也就是网页所有者希望自己的网页被纳入搜索引擎的搜索列表。但有些情况下,网页所有者并不希望它们出现在主流搜索引擎中,或是不希望蜘蛛程序访问网页。比如,假设有一款网页游戏,每当部分页面被显示或者新链接被点击时,游戏就会生成新的动态页面。如果网络蜘蛛程序进入网页,继而开始追踪所有新网页的链接,游戏很可能将这些操作错认为是由一名操作速度极快的玩家执行的,从而失去控制。为了避免此类情况,人们制定了一套拒绝蜘蛛协议。该协议如果嵌入网页开头的元标记部分,就会告诉蜘蛛程序远离该页面——既不要检索网页上的词语,也不要试图追踪网页上的链接。

日搜索次数:美国前五名搜索引擎

  • Google:250000000
  • Overture:167000000
  • Inktomi:80000000
  • LookSmart:45000000
  • FindWhat:33000000

一旦蜘蛛程序完成了网页信息收集工作(我们应当注意,这是一项永远不可能真正完成的工作——网页不断更新的特性意味着蜘蛛程序需要不断爬网),搜索引擎就必须以一种有效方式存储这些信息。要让收集到的数据可供用户使用,涉及两个关键环节:

  • 以数据存储信息
  • 为信息建立索引方法

在最简单的情况下,搜索引擎只需存储词语和词语所在地址。实际上,这样做会限制搜索引擎的用途,因为这种方式无法区别词语在网页中是被重点使用,还是略一提及,也无法区别词语是使用一次还是多次,或该网页上是否含有其它包括该关键字的网页的链接。换句话说,这样做将无法建立排名表,无法把最有用的网页放在查询结果列表的顶端。

为了获得更多有用信息,大多数搜索引擎存储的信息不仅仅是词语和网址,还可能存储着该字在网页中出现的次数。搜索引擎可能会为每个词条指定一个权重,按照词语出现在文档开头、网页副标题、链接、元标记或标题的顺序,权重依次增大。各商业搜索引擎指定索引中词语权重的公式有所不同。这从一个侧面解释了为什么使用不同搜索引擎来搜索相同关键字,却会产生不同的搜索结果列表,网页排列顺序也有所不同。

如果忽略搜索引擎存储的额外信息的准确组合,将这些数据进行编码可以节省存储空间。比如,最初的Google论文描述了使用两个字节(每个字节8比特)来存储权重信息——单词是不是大写、字号大小、位置以及其他用来为数据确定级别的信息。每个因素大概占据两字节中的两三个比特(8比特=1字节)。因此,大量信息便能以一种压缩率极高的方式存储下来。信息被压缩之后,就可以建立索引了。

索引的唯一目的是尽快找到信息。有好几种方法可以建立索引,但是最有效的方法是建立散列表。通过散列法,运用公式给每个词赋予一个数值。该公式可以把词条平均分配给预定数目的分区。此种数值分配不同于根据字母表分配,这是散列表的有效性的关键所在。

在英语中,以某些字母开头的单词较多,而以其他字母开头的单词较少。例如,您会发现,字典的M部就比X部厚得多。这种不均衡意味着查找一个以“常见”字母开头的单词,要比查找不常见字母开头的单词花费更多时间。散列法平衡了这种区别,并且缩短了查找某一词条的平均时间。它还将索引和实际词条分开。散列表中含有经过散列函数转换生成的数字和一个指向实际数据的指针,(这样)不论什么方式,只要它让实际数据最有效地存储起来,实际数据都可以用这种方式得到分类排序。通过高效的索引和有效的存储方式,即使用户进行了一次复杂的查询,也能迅速查找到结果。

上一页  [1] [2] [3]  下一页


Tag:电路基础电子电路基础,模拟电路基础电路基础

《互联网搜索引擎工作原理》相关文章