Los buscadores son los principales medios de ayuda de los usuarios al momento de buscar determinada información en la internet. Ya son conocido varios de esto buscadores que brinda servicios a diario; entre ellos se meciona Bing.
Bing es una de lo más reciente y versatil motor de búsqueda que se encuentra en la internet, el cual brinda multiples servicios. Con Bing encontramos posibilidades infinita de reutilizar sus servicios a través del desarrollo de aplicaciones en diferentes tecnologías.
Un escenario interesante seria que nuestras soluciones web; tal es el caso de ASP.NET se equipe con capacidades universal de búsqueda. Entonce para comenzar a desarrollar una solución ASP.NET con busqueda basada en Bing, se necesita de lo siguiente:
- Selecionamos uno de los protocolo de trabajo de Bing (SOAP):
- Para fines de este articulo se selecciona SOAP, y se crea una solución Web del tipo ASP.NET con Visual Studio 2005 o Superior.
- Se crea un AppID, el cual permitira a tu solución Web consumir el Servicio Bing, para mayor información pulsa aquí: Crear AppID
- Se agrega un referencia Web enVisual Studio: desde el explorador de soluciones se pulsa boton derecho y el menu contextual se da click en Agregar Referencia Web (Visual Studio)
- Desde la ventana de dialogo de Agregar Referencia Web, escriba la siguiente dirección en el cuadro de texto URL: http://api.bing.net/search.wsdl?AppID=TúAppId&Version=2.2 donde dice TúAppId, sera remplazado con tu AppId generado previamente en el portal de desarrollo de Bing.
- Se da click en Ir
- Puede aceptar el nombre de la referencia Web predeterminada net.bing.api sugerida en el cuadro de texto de nombre de la referencia de Web, o escriba su propio nombre de referencia Web en el cuadro de texto.
- Se seleciona un Origen de Tipo (TypeSource), Un TypeSource es una fuente de información accesible desde API:
- Ad SourceType (Bing, Version 2.0)
- Image SourceType (Bing, Version 2.0)
- InstantAnswer SourceType (Bing, Version 2.0)
- MobileWeb SourceType (Bing, Version 2.1)
- News SourceType (Bing, Version 2.0)
- Phonebook SourceType (Bing, Version 2.0)
- RelatedSearch SourceType (Bing, Version 2.0)
- Spell SourceType (Bing, Version 2.0)
- Translation SourceType (Bing, Version 2.2)
- Video SourceType (Bing, Version 2.x)
- Web SourceType (Bing, Version 2)
- Para trabajar con cualquier TypeSource se require fijar los siguientes parametros desde Codigo .NET:
- SearchRequest.AppId Property (Bing, Version 2.0) : Esta propiedad sirve para fijar el Identificador de la aplicación para poder consumir el servicio Bing.
- SearchRequest.Query Property (Bing, Version 2.0) : Con esta propiedad establecemos el valor(cadena de caracteres) de la Busqueda
- SearchRequest.Sources Property (Bing, Version 2.0) : Esta propiedad permite establecer TypeSource para la busqueda.
- Para fines de este articulo se selecciona Web SourceType (Bing, Version 2) .
- Luego desde una pagina aspx, colocamos controles web elementales para fines de este articulo, como: TextBox(txtSearch) , Button(btnsearch), Label(lblInformation).
- Se realiza Imports del namespace de la clase proxy del Servicio Bing previamente configurado en Visual Studio; situando dicho namespace a raíz de la clase (.vb) de la pagina aspx.
- Desde el Button(btnSearch) colocamos el codigo .NET base para nuestro proposito (Visual Basic 2008):
Dim SBing As New BingService
Try
Dim Solicitud As New SearchRequest ‘ Aquí se declara y configura la solicitud de busqueda.
solicitud.AppId = “TúAppId”
solicitud.Query = Me.txtSearch.Text
solicitud.Sources = New SourceType() {SourceType.Web}
solicitud.Version = “2.0”
solicitud.Market = “es-es”
solicitud.Options = New SearchOption() {SearchOption.EnableHighlighting}
solicitud.Web = New WebRequest
solicitud.Web.Count = 10 ‘ Aquí establece el resultado de 10 registros por pagina.
solicitud.Web.CountSpecified = True
solicitud.Web.Offset = 0 ‘ Aquí establece el inicio del registro de la pagina.
solicitud.Web.OffsetSpecified = True
solicitud.Web.Options = New WebSearchOption() {WebSearchOption.DisableHostCollapsing, WebSearchOption.DisableQueryAlterations}
Dim Respuesta As SearchResponse = SBing.Search(solicitud) ‘Aquí se declara y se recupera todo los resultados de la Búsqueda
Dim listCad As New Text.StringBuilder
listCad.AppendLine(“Bing API Version ” & Respuesta.Version)
listCad.AppendLine(“Resultado Web para: ” & Respuesta.Query.SearchTerms)
listCad.AppendLine(String.Format(“Mostrado {0} hasta {1} de {2} Resultado(s)”, Respuesta.Web.Offset + 1, Respuesta.Web.Offset + Respuesta.Web.Results.Length, Respuesta.Web.Total))
lblInformation.Text = ListCad.ToString
Catch ex As System.Web.Services.Protocols.SoapException ‘Cuando se produce una Excepción SOAP, muestra detalle del Error
Catch ex As System.Net.WebException ‘Cualquier Excepción ocurrida mientras se acede a la red
Finally
SBing.Dispose()
End Try
Ahora con esta opción de desarrollo nuestras soluciones web pueden estar vinculada con el servicio de búsqueda de Bing. También se puede adoptar de igual forma este patrón para otros tipos de aplicaciones como Windows, Mobile, Otros Servicios etc. Finalmente se puede mejorar esta solución aplicado sofisticado mecanismo de paginación, así como recepción de datos en modo asíncrono.
Para Mayor Información sobre el Tema visita : Bing Services
Anexo Codigo Fuente en Visual Basic 2008 para más enfoque: BingASPNET (Recuerda Generar su propio AppId, para su uso)