【问题标题】:Bings Search API always returns the same 10 results必应搜索 API 始终返回相同的 10 个结果
【发布时间】:2011-11-19 09:29:10
【问题描述】:

我正在尝试找出 Bings Seach API。我已将 SOAP 服务添加到我的解决方案中,并且确实收到了结果。问题在于,无论我将request.Web 设置为什么,显示的结果总是相同的。当我进行搜索时,它显示了 98 个结果,所以不是缺少结果。

        BingService soapClient = new BingService();

        string resp = string.Empty;
        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 = 10, Offset = 10 };

        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>";
            }

        }

【问题讨论】:

    标签: c# bing-api


    【解决方案1】:

    这些 API 很奇怪,但您需要将指定的变量设置为 true 以便添加

    request.Web.CountSpecified = true;
    request.Web.OffsetSpecified = true;
    

    【讨论】:

    • 如果我指定了值,为什么还要声明我已经指定了它,奇怪:) 奇怪的是,如果我在没有偏移的情况下进行初始搜索,它会显示 98 个结果,如果我再设置偏移到 10,它说有 18 个结果。你知道为什么会这样吗?
    • 它是我的朋友,它的 bing :)
    • 我遇到了同样的问题,我使用 json 的简单单词“游戏”只得到 41 个结果。请帮我解决这个问题。我问了一个问题*.com/questions/8637051/…
    【解决方案2】:

    看看WebRequest.Count。看来您可以通过此配置要返回的结果数。

    编辑: Here's 使用.Count 的示例。

    【讨论】: