0

Bingには、Googleカスタム検索やYahooと同様のオプションがあり、Bingを使用してサイトの検索結果を強化できますか?

カップルの要件:

  • ASP.NETサイトで動作します(.NETプロジェクトです)
  • 自分のウェブサイトで検索ボックスと結果をホストする
  • 結果のルックアンドフィールを自分のサイトに合わせてカスタマイズする機能(フルコントロールが理想的ですが、無料のソリューションでは不可能であることを理解しています)

Bingカスタム検索を検索したところ、http://www.bing.com/siteowner/で見つかりましたが、探しているものとは異なります。

4

2 に答える 2

3

Bing が使用するクエリ文字列は次のとおりです。

http://www.bing.com/search?q=&src=IE-SearchBox&FORM=IE8SRC

(これは、IE の Bing 検索プロバイダーからのテンプレート URL です)。qパラメータの後に検索語を挿入するだけです。これをテストする良い方法は、実際に検索を実行して、ブラウザーのアドレス ボックスに URL を表示することです。

http://www.bing.com/search?q=how+to+query+bing&src=IE-SearchBox&FORM=IE8SRC

srcパラメータとパラメータを削除できますFORM。Bing はこれらを統計目的でのみ使用します。

結果を自分のページに表示するには、iframe を使用して ID を指定し、作成した検索 URL に (javascript を使用して) その src URL を設定します。

var frame = document.getElementById('mySearchFrame');
if (frame != null)
    frame.src = 'http://www.bing.com/search?q=' + mySearchTerms;

ページのスタイルを設定する場合は、コード ビハインドから Bing にクエリを実行し、結果を "スクレイピング" して独自のページに配置する必要があることに注意してください。(または、ページを返送してその内容を変更してから送信することもできますが、これを行うと Bing の使用条件に違反します。MS は Bing を無料で使用できるように提供していますが、それは彼らの条件に基づいています。つまり、広告を削除したり、ページのルック アンド フィールを変更したりすることはできません。この世界にはタダ乗りはありません :)。

于 2010-07-15T22:20:51.700 に答える
1

サイト検索にサインアップし、jsonp を介して Bing にクエリを実行し、javascript を介して結果を表示できます (正確なコードはテストされていません)。

 function searchDone(results) {
    if(results.SearchResponse.Web.Results && results.SearchResponse.Web.Results.length > 0) {
       for (var i = 0; i < results.SearchResponse.Web.Results.length; i++) {
            result = results.SearchResponse.Web.Results[i];
            item = document.createElement('li');
            item.innerHTML = '<a href="' + result.Url + '">' + AntiXssLibrary.HtmlEncode(result.Title.replace(/\uE000/g, "").replace(/\uE001/g, "")) + '</a>' + '<blockquote>' + AntiXssLibrary.HtmlEncode(result.Description.replace(/\uE000/g, "").replace(/\uE001/g, "")) + '</blockquote>';
            // append child to document somewhere
        }
    }
 }



 var serviceURI = "http://api.search.live.net/json.aspx?JsonType=callback&JsonCallback=searchDone&sources=web&Options=EnableHighlighting";
 var appid = "&Appid=YOUR_BING_APP_ID";      
 var query = "&query=site:http://YOURDOMAIN.com/ <%=Request.Querystring["query"] %>";

 var fullUri = serviceURI + appid + query;
 var head = document.getElementsByTagName('head');
 var script = document.createElement('script');
 script.type = "text/javascript";
 script.src = fullUri;
 head[0].appendChild(script);
于 2010-07-15T22:19:20.983 に答える