相关疑难解决方法(0)

谷歌怎么这么快?

有哪些技术和编程决策可以让Google能够如此快速地为查询提供服务?

每当我搜索某些东西(每天几次中的一次)时,我总是惊讶于他们如何在接近或不到1秒的时间内提供结果.他们可以采用哪种配置和算法来实现这一目标?

旁注:有点压倒性的想法,即使我要放置桌面应用程序并在我的机器上使用它可能也不会像谷歌快一半.继续学习我说.


以下是一些很棒的答案和指示:

algorithm performance

89
推荐指数
4
解决办法
7万
查看次数

搜索引擎如何在1秒内排名数百万页?

我了解搜索引擎排名的基础知识,包括"反向索引","向量空间模型","余弦相似度","PageRank"等概念.

但是,当用户提交流行的查询字词时,很可能包含此术语的数百万个页面.因此,搜索引擎仍然需要实时对这些数百万页进行排序.例如,我只是尝试在Google中搜索"Barack Obama".它显示"约937,000,000结果(0.49秒)".在0.5秒内排名超过900M项目?这真让我大吃一惊!

搜索引擎如何在1秒内对如此大量的项目进行排序?任何人都可以给我一些直观的想法或指出参考?

谢谢!

更新:

  1. 到目前为止,大多数答复(包括一些较旧的讨论)似乎都归功于"反向指数".但是,据我所知,反向索引只能帮助找到"相关页面".换句话说,通过反向索引谷歌可以获得包含"巴拉克奥巴马"的900M页面(超过几十亿页).但是,目前还不清楚如何根据我目前读到的线程"排列"这些数百万的"相关页面".
  2. MapReduce框架不太可能成为实时排名的关键组件. MapReduce专为批量任务而设计.在向MapReduce框架提交作业时,响应时间通常至少为一分钟,这显然太慢,无法满足我们的请求.

sorting search-engine

16
推荐指数
3
解决办法
1767
查看次数

标签 统计

algorithm ×1

performance ×1

search-engine ×1

sorting ×1