我正在使用必应 Web 搜索 API v7,我正在发送以下请求(选择少数):
/bing/v7.0/search?q=mate%C5%99sk%C3%A1%20%C5%A1kola&count=50&offset=0&responseFilter=Webpages
/bing/v7.0/search?q=mate%C5%99sk%C3%A1%20%C5%A1kola&count=50&offset=50&responseFilter=Webpages
/bing/v7.0/search?q=mate%C5%99sk%C3%A1%20%C5%A1kola&count=50&offset=950&responseFilter=Webpages
/bing/v7.0/search?q=mate%C5%99sk%C3%A1%20%C5%A1kola&count=50&offset=1000&responseFilter=Webpages
/bing/v7.0/search?q=mate%C5%99sk%C3%A1%20%C5%A1kola&count=50&offset=1050&responseFilter=Webpages
第一个包含
offset=0
的搜索查询请求返回 50 条记录,值 的totalEstimatedMatches > 50000
.带有
offset=50
的第二个请求返回另外 50 条记录,值为totalEstimatedMatches
有所不同,但仍高于50000。依此类推,偏移量增加(上面未介绍)。
但是,请求时
offset=1000
或任何值offset >= 1000
提供与返回的记录相同的记录的结果 在请求offset=950
.
这种行为实际上对应于MS Bing网络搜索 - 当我单击带有offset 1001
(或任何更高页面)的page 101
时,我实际上会page 96
offset 951
。
因此,我无法找到任何方法来访问 1000 多个结果,即使其中应该有 50000 多个(我知道 totalEstimatedMatches 只是一个估计值,实际值可能会有所不同)。
有谁知道如何获得超过1000个网页结果(超过100页有10条记录/超过20页有50条记录)?
搜索引擎优化其索引并返回的结果少于 totalEstimatedMatch 到 1) 停止提供重复的页面和 2)仅关注首页的相关性。如果大量(如果不是 99.x%)用户在前 2-3 页上找不到结果,则会更改查询。因此,对于搜索引擎来说,可能不值得为给定查询存储数十亿页的索引。请注意,此行为在所有搜索引擎中都很常见,而不仅仅是必应。