2014-11-04 170 views
0

我正在使用Google Costume Search API。我遇到的問題是,我發現Google API的結果與直接搜索的結果之間存在一些不一致之處。例如,當我從API搜索Android時,它說:直接搜索結果和Google搜索API不匹配

.... 
"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時,它給了我「約10​​10,000,000」的結果。在某些情況下,這種不一致性要大得多。是什麼原因?有任何想法嗎?

據我所知,API和主要的搜索引擎可能使用不同的組件。但是這種差異似乎很大。我很好奇,如果是這樣的話。

回答

2

我剛剛做了同樣的搜索,總結果顯示爲「877,000,000」,與您提供的數字都不匹配。

結果的數量是一個估計 - 而且往往是一個非常不準確的結果。由於在搜索引擎中建立倒排索引的方式,這是不可避免的。由於它們的大小很大,倒排索引被分成大量的桶。查詢只對「倒排索引」足夠「深入」,以檢索顯示給用戶的前1000個排名最高的結果。然後,基於爲查詢檢索的子集,估計總索引中有多少結果。

另請注意,大多數查詢的結果都使用非常廣泛的服務器網絡進行緩存。這意味着您可能會根據您查詢的服務器獲得不同結果總數的估計值。換句話說,兩個同時進行相同搜索的用戶可能會看到不同的結果列表,並顯示不同的結果總數估計值。