2010-07-15 2 views
0

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

требования Пара:

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

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

ответ

1

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

Строка запроса 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 для вас использовать бесплатно, но это на их условиях, что означает вы не сможете удалить какую-либо рекламу или изменить внешний вид страницы - в этом мире нет бесплатных аттракционов :).