【问题标题】:Bing web search API - limited number of records in result必应网络搜索 API - 结果中的记录数量有限
【发布时间】:2018-01-11 13:12:27
【问题描述】:

我正在使用 Bing Web Search 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 网络搜索——当我点击page 101offset 1001(或任何更高的页面)时,我实际上得到page 96offset 951

所以,我想不出任何方法来访问超过 1000 个结果,即使它们应该超过 50000 个(我知道 totalEstimatedMatches 只是一个估计值,实际值可能会有所不同)。

有谁知道如何获取超过 1000 个网页结果(超过 100 个页面有 10 条记录/超过 20 个页面有 50 条记录)?

【问题讨论】:

    标签: microsoft-cognitive bing-api bing-search


    【解决方案1】:

    搜索引擎优化其索引并返回比 totalEstimatedMatches 更少的结果,以 1) 停止提供重复页面和 2) 仅关注热门页面的相关性。大部分(如果不是 99.x%)用户在前 2-3 页没有找到结果时会更改查询。因此,对于搜索引擎而言,可能不值得为给定查询存储数十亿页的索引。请注意,这种行为在所有搜索引擎中都很常见,而不仅仅是 Bing。

    【讨论】:

    • 你说得对,通常的用例(搜索用户)只需要 2-3 页的结果就足够了。这里的用例是搜索一个通用术语(使其更容易,例如“学校”)并通过处理许多结果来建立一个出现记录(即“学校列表”)。这里的难题是为什么要提供有关数万到数百万个结果的信息,并且只提供对前一千个结果的访问权限。
    • 为此,您可以探索 Bing 实体搜索 API。那应该给你一个现成的清单。如果这不符合您的要求,也许您需要有一组不同的查询并在这些查询上进行挖掘。例如。 “学校”、“公立学校”、“公立学校”、“私立学校”等
    最近更新 更多