如何使用Bing API进行特定于站点的搜索?

时间:2014-03-26 02:29:50

标签: c# bing-api

我想使用Bing API进行网站特定搜索。这是我的计划:

namespace Microsoft.Samples.BingSearch
{    class Program
    {

        static void Main(string[] args)
        {
            string rootUri = "https://api.datamarket.azure.com/Bing/Search";
            var bingContainer = new Bing.BingSearchContainer(new Uri(rootUri));
            var accountKey = "xxxxxxx";
            bingContainer.Credentials = new NetworkCredential(accountKey, accountKey);
            string query = "SQL Server";
            var t = bingContainer.News(query, null, null, null, null, null, null, null, null);
            t.AddQueryOption("site", "computerworld.com");
            var resultNews = t.Execute();    
            foreach(var item in resultNews)
            {
                var g = item.ID;
                Console.WriteLine(item.Title + " - " + item.Source);
            }
        }
    }
} 

程序运行(假设您输入了有效的帐户密钥)并返回结果。不幸的是,它并没有将结果限制在computerworld.com。就像这一行:

        t.AddQueryOption("site", "computerworld.com");

被忽略了。

我做错了什么?

注意:我知道我可以通过自己构建URI而不是使用库来进行特定于站点的搜索。我想知道的是如何正确使用此库进行特定于站点的搜索。

1 个答案:

答案 0 :(得分:1)

尝试将site属性添加到query本身,如下所示:

var t = bingContainer.News("site:computerworld.com " + query, null, null, null, null, null, null, null, null);

此方法在related ASP.NET blog post中列出。