谷歌如何返回这么多搜索结果?

时间:2013-07-20 10:48:47

标签: architecture search-engine

当谷歌搜索一段时间时,我们被告知我们看到k的10个结果中有数千个。即万分之一的第1-10名结果。 我们可以跳到50-60结果,谷歌将在不到一秒的时间内返回。 如果google会缓存所有的1-40,我想这会浪费RAM。如果它会立即返回所有结果,则会浪费流量。 Google如何在对其进行排序时返回如此多的搜索结果?

1 个答案:

答案 0 :(得分:2)

这是我尝试过的东西: 对于谷歌搜索:

  

Google搜索引擎如何运作

以下是发送到服务器的网址:

https://www.google.co.in/?gws_rd=cr#gs_rn=20&gs_ri=psy-ab&tok=v1e-J_ynDKaPw_oDlFH-HA&cp=30&gs_id=8&xhr=t&q=how+google+search+engine+works&es_nrs=true&pf=p&output=search&sclient=psy-ab&oq=how+google+search+engine+works&gs_l=&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.49478099,d.bmk&fp=56e0e38cda57afa7&biw=1280&bih=899

如果我选择页面底部的第5页链接,这里是正在发送的网址:

https://www.google.co.in/?gws_rd=cr#q=how+google+search+engine+works&ei=qm3qUeXSA4LqrAfXtYDoCg&sqi=2&start=40&sa=N&bav=on.2,or.r_cp.r_qf.&bvm=bv.49478099%2Cd.bmk%2Cpv.xjs.s.en_US.c75bKy5EQ0A.O&fp=56e0e38cda57afa7&biw=1280&bih=899

请注意此处的其他start=40&sa=N参数。

因此,经过google search enging working第2步(3)后谷歌拥有超过<30万个网页的索引,我感觉如何,对于每个查询,他们使用200多个因素对结果进行排名。所以我觉得startsa参数在获取结果时形成了其中一个因素。

因此我的观点是谷歌没有缓存结果,而是使用不同的url参数对每个查询进行新的搜索。

修改

为了进一步支持我的观察,这里是导航到上述搜索查询的不同页面所花费的时间列表:

  1. 第一页:157,000,000 results (0.22 seconds)
  2. 第5页:Page 5 of about 157,000,000 results (0.26 seconds)
  3. 第10页:Page 10 of about 157,000,000 results (0.30 seconds)

  4. 第14页:Page 14 of about 157,000,000 results (0.33 seconds)

  5. 第18页:Page 18 of about 157,000,000 results (0.38 seconds)
  6. 第22页:Page 22 of about 157,000,000 results (0.35 seconds)
  7. 第26页:Page 26 of about 157,000,000 results (0.43 seconds)
  8. 第30页:Page 30 of about 157,000,000 results (0.45 seconds)
  9. 第34页:Page 34 of about 157,000,000 results (0.40 seconds)
  10. 第38页:Page 38 of about 371 results (0.50 seconds)
  11. 因此,增加查询页数的时间几乎在增加。如果它是缓存结果,上面不会是趋势。