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 の基本に関するドキュメントには、次のような警告の言葉があります。count と offset の引数によって計算が少し長くなるので、多くの結果が収集される前に計算が停止するのではないでしょうか? また、WebRequest.Count プロパティのドキュメントには、「Count の最小値は 1、最大値は 50」と記載されているため、Count の値を指定すると、98 個の結果よりも少ない結果が得られることにも注意してください。 Count を指定せずに見たことがあります。

于 2012-07-02T12:08:11.787 に答える