0

如果我使用 Bings Webservice 进行搜索并且没有指定偏移量和计数进行搜索,我会收到 98 个搜索结果。如果我改为使用偏移量(如下面的代码所示),总计数仅为 18。

如果我指定偏移量,总计数不应该相同吗?

    BingService soapClient = new BingService();

    SearchRequest request = new SearchRequest();
    request.AppId = ConfigurationManager.AppSettings["BingKey"];
    request.Sources = new BingLiveSearchService.SourceType[] { SourceType.Web };
    request.Query = query;
    request.Web = new BingLiveSearchService.WebRequest { Count = 20, Offset = 21, OffsetSpecified = true, CountSpecified = true };

    string resp = string.Empty;

    var response = soapClient.Search(request);
    if (response.Web != null && response.Web.Total > 0)
    {
        resp += "TOTAL COUNT:" + response.Web.Total + "<br/><br />";
        foreach (var item in response.Web.Results)
        {
            resp += "<div style='padding-bottom:10px;'> + item.Title + "</div>";
        }

    }
4

1 回答 1

0

API Basics 文档中有一些警告词:“根据查询的流行程度,估计的结果数量可能与实际数量有很大差异。不要依赖这个数字进行关键计算”。我想知道 count 和 offset 参数是否会使计算花费更长的时间,因此在收集到尽可能多的结果之前就停止了?还值得注意的是,WebRequest.Count 属性文档提到“Count 的最小值为 1;最大值为 50”,因此如果您为 Count 指定一个值,您将获得少于 98 个结果见过没有指定计数。

于 2012-07-02T12:08:11.787 回答