Как использовать Bing в качестве поисковой системы на моем сайте? - PullRequest
0 голосов
/ 16 июля 2010

Есть ли у Bing опция, аналогичная пользовательскому поиску Google или Yahoo, где я могу использовать Bing для включения результатов поиска на моем сайте?

Требования к паре:

  • Работает с сайтом ASP.NET (это проект .NET)
  • Разместите окно поиска и результаты на моем собственном веб-сайте.
  • Возможность настроить внешний вид результатов в соответствии с моим сайтом (полный контроль идеален, но я понимаю, что это невозможно с бесплатными решениями)

Я выполнил поиск для пользовательского поиска Bing и обнаружил следующее: http://www.bing.com/siteowner/ но это не совсем то, что я ищу.

Ответы [ 2 ]

3 голосов
/ 16 июля 2010

Строка запроса, которую использует Bing:

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

(это шаблон URL от поискового провайдера Bing в IE). Все, что вам нужно сделать, это вставить условия поиска после параметра q. Хороший способ проверить это на самом деле выполнить поиск и увидеть URL в адресной строке браузера:

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

вы можете удалить параметры src и FORM, Bing будет использовать их только для статистических целей.

Чтобы результаты отображались на вашей собственной странице, используйте iframe, присвойте ему идентификатор и установите в качестве URL-адреса src (используя javascript) значение URL-адреса поиска, который вы создали.

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

Обратите внимание, что если вы хотите стилизовать страницу, вам нужно будет запросить Bing из кода и "очистить" результаты и поместить их на свою страницу. (Или вы можете просто отослать страницу назад, но перед этим измените ее содержимое, но это будет нарушать условия использования Bing - MS предоставляет Bing для вас бесплатно, но на их условиях, что означает Вы не сможете удалить какую-либо рекламу или изменить внешний вид страницы - в этом мире нет бесплатных поездок:).

1 голос
/ 16 июля 2010

Вы можете зарегистрироваться для поиска по сайту и запроса Bing через jsonp и отображать результаты через 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);
...