博客统计信息

用户名:ATually_Miao
文章数:11
评论数:12
访问量:13785
无忧币:20
博客积分:194
博客等级:2
注册日期:2009-11-30

我的技术圈(0)

更多>>
自己建搜索引擎(基于服务器端的)
2010-01-24 19:04:47
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://acually.blog.51cto.com/1060340/269936
   这是一个基于bing搜索引擎的webservice的应用程序,利用bing提供的搜索webservice来实现自己的搜索功能
         下面看下代码咯
                .aspx文件中
                   <form id="form1" runat="server">
   
                        <div>
                               <asp:TextBox ID="Key" runat="server"></asp:TextBox>
                              <asp:Button ID="OKBtn" runat="server" Text="确定"               />
                       </div>
                       <div>
                           <asp:ListBox ID="ListBox1" runat="server" Height="455px" Width="588px"></asp:ListBox>
                    </div>
                    </form>
 //文本框是要来获取你要查询内容的关键字
//listBox是用来显示搜索的结果
 
 
.aspx.cs文件中
注意在写这段代码时,你必须先添加web引用http://api.search.live.net/search.wsdl
 
添加引用后的解决方案如图所示
 
然后命名空间中要引用
using net.live.search.api;//注意引用这个命名空间
引用不正确会提示错误
protected void OKBtn_Click(object sender, EventArgs e)
    {
        // LiveSearchService implements IDisposable.
        using (LiveSearchService service =new LiveSearchService())//注意实例化这个服务
        {
            try
            {
               
                SearchRequest request = BuildRequestWeb();
                // Send the request; display the response.
                SearchResponse response = service.Search(request);//调用webservice的search方法
                DisplayResponseWeb(response);//显示返回来的结果
            }
            catch (System.Net.WebException ex)
            {
                // An exception occurred while accessing the network.
                Console.WriteLine(ex.Message);
            }
        }
    }
    private SearchRequest BuildRequestWeb()
    {
        SearchRequest request = new SearchRequest();
        // Common request fields (required)
       //设置searchrequest的相关参数
        request.Query = Key.Text;//获取查询内容的关键字
        request.Sources = new SourceType[] { SourceType.Web };//设置是服务返回的内容类型,是网页
        request.AppId = "*****************************";//这个要自己到bing网站去注册获取一个Appid,由于我用的是老师的id,所以不便把它贴出来
        // Common request fields (optional)
        request.Version = "2.0";
        request.Market = "zh-CN";//设置返回结果以中文形式显示
        request.Adult = AdultOption.Moderate;
        request.AdultSpecified = true;
        request.Options = new SearchOption[]
      {
        SearchOption.EnableHighlighting
      };
        // Web-specific request fields (optional)
        request.Web = new WebRequest();
        request.Web.Count = 10;
        request.Web.CountSpecified = true;
        request.Web.Offset = 0;
        request.Web.OffsetSpecified = true;
        request.Web.Options = new WebSearchOption[]
      {
        WebSearchOption.DisableHostCollapsing,
        WebSearchOption.DisableQueryAlterations
      };
        return request;
    }
    private void DisplayResponseWeb(SearchResponse response)
    {
        // Display the results header.
      
        ListBox1.Items.Add("Bing API Version " + response.Version);
        ListBox1.Items.Add("Web results for " + response.Query.SearchTerms);
        ListBox1.Items.Add(string.Format("Displaying {0} to {1} of {2} results",
          response.Web.Offset + 1,
          response.Web.Offset + response.Web.Results.Length,
          response.Web.Total));
        // Display the Web results.
        System.Text.StringBuilder builder = new System.Text.StringBuilder();
        foreach (WebResult result in response.Web.Results)
        {
            builder.Length = 0;
            builder.AppendLine(result.Title);
            builder.AppendLine(result.Description);
            builder.AppendLine(result.Url);
            builder.Append("Last Crawled: ");
            builder.AppendLine(result.DateTime);
            ListBox1.Items.Add(builder.ToString());
            Console.WriteLine();
        }
    }
  

本文出自 “做不一样的IT民工” 博客,请务必保留此出处http://acually.blog.51cto.com/1060340/269936

分享至
更多
一键收藏,随时查看,分享好友!
0人
了这篇文章
类别:技术技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 
2010-01-26 16:45:03
要是有注释就好了
博主回复:
2010-01-28 10:56:58
以后会注意了,谢谢您的意见

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: