Bing Search API并不总是返回相同的结果计数

时间:2011-11-19 17:54:26

标签: c# bing-api

如果我使用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>";
        }

    }

1 个答案:

答案 0 :(得分:0)

the API Basics documentation中有一些警告词:“根据查询的受欢迎程度,估计的结果数量可能与实际数字非常不同。不要依赖此数字进行关键计算”。我想知道count和offset参数是否会使计算花费更长的时间,因此在收集到很多结果之前它会被暂停?还值得注意的是the WebRequest.Count Property documentation提到“Count的最小值为1;最大值为50”,因此如果你为Count指定一个值,你将得到的结果小于你得到的98个结果没有指定Count就看到了。