
简介

有关Internet及其最引人注目的部分World Wide Web的好消息是Internet上有无数网页提供了极为多样的主题. 坏消息是,大多数页面都是由生产者随意命名的,几乎所有页面都存储在未知服务器上. 当您需要了解特定主题时,如何知道要阅读哪些页面?与大多数人一样,您使用Internet搜索引擎.
Internet搜索引擎是万维网上的特殊站点,旨在帮助人们查找存储在其他站点上的信息. 尽管各种搜索引擎的工作方法不同,但它们都必须完成三个基本任务:
早期搜索引擎的索引仅包含数十万个网页或文档,并且接受的查询每天可能只有一千两次. 如今,排名靠前的搜索引擎列表涵盖了数亿个网页,并且每天响应数以千万计的查询. 在本文中,我们将解释这些基本任务是如何完成的,以及Internet搜索引擎如何集成信息以帮助我们在网上找到我们需要的东西.
当大多数人谈论Internet搜索引擎时,他们实际上是指万维网搜索引擎. 在万维网成为Internet上最引人注目的部分之前,已经有了搜索引擎来帮助人们找到信息. 诸如“ gopher”和“ Archie”之类的程序可以生成索引并将文件信息存储在连接到Internet的各种服务器上,从而大大减少了查找程序和文档的时间. 在1980年代后期,为了从Internet获得有价值的信息,人们必须知道如何使用gopher,Archie,Veronica和其他类似程序.
当前,大多数Internet用户仅限于搜索万维网,因此本文仅讨论用于Web内容的搜索引擎.

小蜘蛛开始行动
搜索引擎必须先找到它们,然后它们才能告诉您文件或文档的存储位置. 为了在数以亿计的现有网页中查找信息,搜索引擎使用一种特殊的软件机器人(称为蜘蛛程序)来生成在网站上查询的单词列表. 蜘蛛程序构建单词列表的过程称为爬网. (将Internet的一部分称为网络是一个缺点,其中很多以蜘蛛命名的工具就是其中之一. )为了构建和维护有用的单词列表,搜索引擎蜘蛛程序需要浏览大量的单词. 网页数.
蜘蛛程序如何开始他们的旅程?通常,起点是那些流量很大的服务器和流行的网页. Spider程序从一个非常受欢迎的网站开始,检索网页上的单词并跟踪在该网站上找到的每个链接. 通过这种方式,蜘蛛程序迅速开始运行,爬行了Internet上绝大多数经常访问的网站.
Spider程序提取网页内容并设置搜索关键字. '/>
为了方便用户查找所需的网页,

Spider程序提取网页内容并设置搜索关键字.
Google的前身是一个学术搜索引擎. 在介绍系统开发过程的论文中,谷歌创始人谢尔盖·布林(Sergey Brin)和劳伦斯·佩奇(Lawrence Page)举例说明了其蜘蛛程序的运行速度. 他们最初开发的系统使用了多个蜘蛛程序,通常是三个. 每个蜘蛛程序可以同时打开300个链接. 最多可以同时使用四个蜘蛛程序. 目前,该系统每秒可以浏览100多个网页,并生成大约600KB的数据.
为确保所有内容都能快速运行,这意味着必须开发一个系统来为蜘蛛程序提供必要的信息. 早期的Google系统具有专门用于提供蜘蛛程序链接信息的服务器. 为了最大程度地减少延迟,Google不依赖Internet服务提供商提供的域名服务器(DNS)将服务器名称转换为URL,而是准备自己的名称服务器.
Google的Spider程序访问HTML页面时,将记录以下两种信息:
记录出现在标题,字幕,元标记和其他相对重要位置的单词. 用户将来搜索时经常使用这些词. Google Spider程序旨在检索网页中的每个重要单词(对于英文,a,an等文章也被过滤掉). 其他蜘蛛程序使用不同的方法.
这些方法通常是为了尽可能加快蜘蛛程序的速度,或者允许用户更有效地进行搜索,或者两者兼而有之. 例如,某些蜘蛛程序会跟踪标题,字幕和链接中的单词,以及网页上100个最常用的单词以及文章的前20行中的每个单词. 据说Lycos使用这种方法进行爬网.
其他系统(例如AltaVista)则相反,检索网页中的每个单词,包括a,an,the和其他“不重要”的单词. 人们改进这种方法的动力从未减弱,而其他系统则通过其他方法与之竞争. 例如,关注网页的不可见部分,即meta标签.

元标记
元标记允许网页所有者设置用于检索网页的关键字或概念. 这很有用,尤其是当网页上的单词具有多种含义时-元标记可以引导搜索引擎从这些单词的几种可能含义中选择正确的一种. 但是,存在过度依赖元标记的危险: 粗心或不负责任的页面所有者将添加一些与流行主题相对应的元标记,但这与页面的实际内容无关. 为了防止此类情况的发生,蜘蛛程序将元标记与网页内容进行比较,并删除与网页文字不匹配的那些元标记.
以上方法是基于以下假设: 网页所有者希望其网页包含在搜索引擎搜索列表中. 但是在某些情况下,网页所有者不希望他们出现在主流搜索引擎中,或者不希望蜘蛛程序访问网页. 例如,假设有一个网页游戏. 每当显示页面的一部分或单击新链接时,游戏都会生成一个新的动态页面. 如果网络蜘蛛程序进入网页,然后开始跟踪所有新的网页链接,则游戏可能会误解这些操作,因为这些操作是由玩家以极快的操作速度执行的,并且失去了控制. 为了避免这种情况,人们制定了一套拒绝蜘蛛协议. 如果该协议嵌入在网页开头的meta标签部分中,它将告诉蜘蛛远离该页面-既不检索网页上的文字,也不尝试遵循网页上的链接页面.
每天的搜索量: 美国排名前五的搜索引擎
一旦Spider程序完成了网页信息收集工作(我们应该注意,这是一项永远无法完成的工作-网页的不断更新的特性意味着Spider程序需要不断爬网),引擎必须是一种有效的方式来存储此信息. 为了使收集的数据对用户可用,有两个关键链接:
在最简单的情况下google搜索引擎的工作原理,搜索引擎仅需要存储单词和单词所在的地址. 实际上,这将限制搜索引擎的使用,因为这种方式无法区分是在页面中使用了该单词,还是简要提及了该单词,还是该单词使用了一次或多次,或者页面是否包含链接到其他包含该关键字的网页. 换句话说,这样做将无法建立排名表,也无法将最有用的网页放在查询结果列表的顶部.
为了获得更多有用的信息,大多数搜索引擎不仅存储单词和URL的信息,还存储单词在网页上出现的次数. 搜索引擎可以为每个条目分配一个权重,并且权重按单词出现在文档开头,页面的字幕,链接,元标记或标题的顺序增加. 每个商业搜索引擎都有不同的公式来指定索引中单词的权重. 这从一个方面解释了为什么使用不同的搜索引擎来搜索相同的关键字,却生成了不同的搜索结果列表,并且页面排列的顺序也不同.

如果您忽略搜索引擎存储的其他信息的确切组合,则对这些数据进行编码可以节省存储空间. 例如,原始的Google论文描述了使用两个字节(每个字节8位)来存储重量信息-单词是否大写,大小,位置以及用于确定数据级别的其他信息. 每个因子在两个字节中占用两个或三个位(8位= 1字节). 因此,可以以高度压缩的方式存储大量信息. 压缩信息后,就可以对其进行索引.
索引的唯一目的是尽快找到信息. 有几种创建索引的方法,但是最有效的方法是创建哈希表. 通过散列方法,使用公式为每个单词分配一个值. 该公式可以将条目平均分配给预定数量的分区. 这种数字分配方式与字母分配方式不同,这是哈希表有效的关键.
在英语中google搜索引擎的工作原理,以某些字母开头的单词更多,而以其他字母开头的单词更少. 例如,您会发现字典的M部分比X部分厚得多. 这种不平衡意味着找到以“常见”字母开头的单词比找到以不寻常字母开头的单词需要更多的时间. 哈希平衡了这种区别,并缩短了查找条目的平均时间. 它还将索引与实际条目分开. 哈希表包含通过哈希函数转换生成的数字和指向实际数据的指针. (以这种方式)只要可以最有效地存储实际数据,就可以以这种方式对实际数据进行排序和排序. 通过有效的索引和有效的存储,即使用户执行复杂的查询,也可以快速找到结果.
通过索引搜索需要用户进行查询并通过搜索引擎提交. 查询可能非常简单,至少需要一个单词. 建立更复杂的查询需要使用布尔运算符来完善和扩展搜索词.
最常见的布尔运算符包括:
搜索游戏搜索引擎已成为我们生活中不可或缺的一部分. 基于此工具,至少开发了一款精心设计的游戏. 玩Google热门游戏时,您需要在Google搜索引擎中键入两个单词,希望仅获得一个结果,只有一个网页包含两个单词. 这称为纯匹配.
这是一个困难的游戏-您需要选择两个完全不相关的单词,否则您肯定会获得很多网络结果. 另一方面,许多完全不相关的单词查询不会产生任何结果.
如果您找到纯匹配项,则可以将其提交给他们,他们会将其发布到匹配项栈中(标有您的名字或您喜欢的任何名称),所有人都可以浏览.
借助布尔运算符定义的搜索是一种文本搜索-搜索引擎会根据您键入的单词或短语精确地进行搜索. 如果键入的单词具有多种含义,则会出现问题. 例如,“床”可以是用于睡觉的床,用于种植花的花床,或用于卡车的载货厢或用于鱼的产卵场所. 如果您仅对这些含义之一感兴趣,则可能不想查看使用其他含义的网页. 您可以尝试删除对建立文本搜索不感兴趣的含义. 但是,最好是搜索引擎自己解决.
基于概念的搜索是搜索引擎的研究领域之一. 其中一些搜索引擎使用统计分析来处理包含您要搜索的单词或短语的网页,以便查找您可能感兴趣的其他网页. 显然,对于基于概念的搜索引擎,每个网页存储更多的信息,每个查询也需要更复杂的处理. 尽管如此,仍然有许多团队致力于改善此类搜索引擎的结果和性能. 有些人还进入了另一个研究领域,即自然语言查询.
自然语言查询的思想是,您可以像问坐在您旁边的人一样输入问题,而无需使用布尔运算符或复杂的查询结构. 当前最受欢迎的自然语言查询网站是AskJeeves.com,该网站可以将用户查询解析为关键字,然后搜索所构建网站的索引. 它只能处理简单的查询,但是在开发用于复杂自然语言的搜索引擎的领域中,竞争非常激烈.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-274227-1.html
如果他们不怕付出巨大代价
你得知道“天高皇帝远”的道理
自己买酒调才多少成本
靠边站宋