6

谷歌使用什么搜索算法/概念?

4

8 回答 8

14

大型超文本 Web 搜索引擎剖析

于 2009-04-01T05:04:21.253 回答
6

索引

如果您想了解基础知识:

谷歌使用互联网的倒排索引。这意味着谷歌有一个基于每个页面中的术语的所有页面的索引。例如,Google一词映射到此页面、Google 主页和 Google 的 Wikipedia 文章等。

因此,当您访问 Google 并在搜索框中键入“Google”时,Google 会检查其对 Internet 上所有可用术语的索引,并找到术语“Google”的条目以及包含该术语的所有页面的列表其中引用。

对于资深用户:

但是,Google 的索引超出了您简单的倒排索引。这就是为什么谷歌是最好的。谷歌的爬虫(蜘蛛)很聪明。很聪明。除了跟踪任何给定网页上的术语之外,它们还跟踪相关页面上的单词并将它们链接到给定文档。

换句话说,如果一个页面中包含Google一词,并且该页面有一个链接到另一个网页或从另一个网页链接,则另一个页面也可能在索引中以Google一词引用。所有这些以及更多内容都涉及为给定查询返回给定页面的原因。

如果您想了解为什么页面按照它们在搜索结果中的顺序排列,那就会涉及到更有趣的东西。

排行

回到基础:

搜索引擎可以用来对结果进行排序的最基本算法之一可能被称为词频逆文档频率 (tf-idf)。简而言之,这意味着您的结果将按照搜索词在文档中的相对重要性进行排序。换句话说,一份有 10 页并列出一次Google一词的文档不如一份只有 1 页并列出十次Google一词的文档重要。

对于资深用户:

同样,在排名结果方面,谷歌比您的基本搜索引擎做得更多。谷歌已经实施了上述专利的 PageRank 算法。简而言之,PageRank 通过考虑给定页面的人口/重要性来增强 tf-idf 算法。在这一点上,流行度/重要性可以通过谷歌不会告诉我们的许多因素来判断。然而,在最基本的层面上,谷歌可以判断一个页面比另一个更重要,因为其他页面的加载和加载链接到它。

于 2009-04-01T05:39:02.450 回答
4
于 2009-04-01T05:21:21.527 回答
3

PageRankGoogle用于搜索引擎的链接分析算法,但该专利已转让给斯坦福大学

于 2009-04-01T05:04:47.277 回答
1
于 2009-06-15T17:01:47.837 回答
0

倒排索引MapReduce是大多数搜索引擎的基础(我相信)。您在内容上创建索引并针对该索引运行查询以显示相关性。然而,谷歌所做的不仅仅是一个简单的索引每个单词出现的位置,他们还做了它出现了多少次,它出现在哪里,它与其他单词的关系出现在哪里,排序等等。另一个使用的简单概念是“停用词”,其中可能包括“and”、“the”等(基本上是“简单”的词,经常出现,通常不是查询的重点)。此外,他们使用诸如 Page Rank(由 TStamper 提到)之类的东西来按相关性和重要性对页面进行排序。

MapReduce 基本上是把一项工作分成更小的工作,然后让这些更小的工作在许多系统上运行(部分是为了可扩展性,部分是为了速度)。如果我没记错的话,谷歌能够利用“普通”计算机将工作分配给服务器级计算机而不是服务器级计算机。由于一台计算机的处理能力正在达到顶峰,许多技术正朝着云计算发展,其中一项工作由许多物理机器完成。

我不确定谷歌做了多少搜索,它更准确地抓取。不同之处在于它们只是从特定点开始,然后爬到任何可以到达的地方并重复,直到遇到某种死胡同。

于 2009-04-01T05:18:45.603 回答
0

在对页面排名算法和类似算法感兴趣的同时,我发现在年初引入个人搜索(没有被广泛评论)似乎发生了很大变化 - 请参阅 Google 黄金标准的失败Google 的个性化结果

于 2010-02-16T09:42:39.513 回答
0

这个问题不能规范地回答。谷歌(和其他搜索引擎)使用的算法是他们最严密的机密,并且不断变化。每个正确答案都可能在一个月或一年后无效。

(我知道这并不能真正回答问题,但这就是重点,没有可能的答案。)

于 2015-12-03T08:42:34.417 回答