为何 Google 比硬盘搜索快那么多?

为何 Google 比硬盘搜索快那么多?

当我在 Windows 7 或 Windows XP 中搜索硬盘上的文件时,需要几分钟才能完成该过程。如果我在 Google 中输入搜索词,答案会在几毫秒内出现在我的屏幕上

为什么 Google 能够以比我的硬盘大很多倍的速度搜索互联网,而且速度比我的操作系统搜索我的计算机的速度还快呢?这仅仅是计算能力和正确算法的问题吗?

答案1

Google 不是在搜索互联网:而是在搜索索引。Google 拥有庞大的服务器群,它们不断扫描和索引互联网。这个过程需要花费大量时间,就像搜索未编入索引的硬盘一样。在 Windows 7 中,有一个选项可以索引硬盘。这个过程一开始需要一些时间,但一旦启动并运行,搜索结果就会立即显示。

如果你想了解更多关于谷歌搜索的工作原理,你可以阅读谷歌的文章“搜索的工作原理“或阅读文章”事物的运作方式:谷歌的运作方式“。

答案2

Google 就像在黄页上搜索地址(索引)。Windows 搜索类似于开车四处查看建筑物上的号码(非索引)。

另一个类比是浏览一个组织良好的图书馆和卡片目录,或者每次只是对一堆杂乱无章的书进行分类。

从根本上来说,正是在搜索之前完成的所有组织工作使得搜索速度变快。

仅供参考:搜索索引位置时,Windows 搜索可以同样响应。

答案3

Google 的业务是搜索(和提供广告),并且非常专注于此。Google 采取了许多措施来确保快速将数据返回给您:

  • 首先它使用映射Reduce网页排名生成万维网的综合索引。它会定期更新,以确保搜索结果是最新的。
  • 该索引分布并复制到 Google 的许多服务器上
  • 您的查询将分散到多个服务器以构建返回的结果。这使得该过程高度并行化。
  • 常见的查询和结果都被缓存,从而减少了执行搜索的需要。

请参阅此链接以了解更多信息搜索的工作原理

相比之下,没有索引的硬盘搜索必须读取驱动器上的每个文件,这可能需要花费大量时间。

此外,您可以将文件系统和索引都视为一棵树。在文件系统中,树的根是顶级文件夹,它可以在该文件夹中有分支(文件夹)或叶子(文件)。每个分支可以有更多文件夹的子分支和更多文件的叶子。要搜索此结构,您必须“遍历”所有分支(和子分支)以找到您要查找的叶子。索引会翻转此层次结构。基础成为字母表,所有子分支进一步细化。叶子是您要查找的项目的位置。搜索此结构允许您修剪(排除)树的大部分(例如,搜索词的第一个字母允许您立即修剪其他 25 个分支)。

答案4

Google 使用极其复杂的索引系统、并行操作和标准独立计算机无法提供的多种负载平衡技术。网页搜索和硬盘文件搜索之间实际上几乎没有相似之处,而且 Google 针对它们的特定用例进行了大量优化。

相关内容