直接搜索和Google搜索API的结果不匹配

时间:2014-11-04 06:55:09

标签: google-app-engine search google-api search-engine

我正在使用Google Costume Search API。我遇到的问题是,我发现Google API的结果与直接搜索结果之间存在一些不一致。例如,当我从API搜索Android时,它会说:

.... 
"request": [
   {
    "title": "Google Custom Search - Android",
    "totalResults": "16600000",
    "searchTerms": "Android",
    "count": 10,
    "startIndex": 1,
    "inputEncoding": "utf8",
    "outputEncoding": "utf8",
    "safe": "off",
    "cx": "013036536707430787589:_pqjad5hr1a"
   }
  ]
 },
... 

其中说" 16600000"结果。但是当我直接搜索Android时,它给了我"大约1,010,000,000"结果。在某些情况下,这种不一致性要大得多。是什么原因?有什么想法吗?

我理解API和主要搜索引擎可能适用于不同的组件。但这种差异似乎很大。我很好奇,如果是这样的话。

1 个答案:

答案 0 :(得分:2)

我刚刚进行了相同的搜索,总结果显示为" 877,000,000"它与您提供的数字都不匹配。

结果的数量是一个估计值 - 通常是一个非常不准确的结果。由于在搜索引擎中构建倒排索引的方式,这是不可避免的。由于它们的巨大尺寸,倒置的索引被分成很多桶。查询只会进入"深度"足够进入倒排索引以检索显示给用户的前1000个排名最高的结果。然后根据为查询检索的子集,估计总索引中有多少结果。

另请注意,大多数查询的结果都使用非常广泛的服务器网络进行缓存。这意味着您可以根据查询中的服务器获得不同的结果总数估计值。换句话说,两个同时进行相同搜索的用户可能会看到不同的结果列表,其中包含对结果总数的不同估计值。