Hi !
Después de mi post de ayer sobre cómo obtener las claves de App para usar las Cognitive Services APIs, hoy voy darle un repaso a uno de los nuevos servicios: Bing Autosuggest API. La documentación oficial explica muy bien el objetivo de este servicio:
La API Bing Autosuggest permite a los partners enviar una parte de una consulta de búsqueda a Bing y recuperar una lista de preguntas sugeridas que otros usuarios han buscado a partir de la misma.
Además de incluir las búsquedas que otros usuarios han escrito, la lista puede incluir sugerencias basadas en la intención del usuario. Por ejemplo, si la cadena de consulta es “el tiempo en Lo”, la lista incluirá sugerencias con consultas que incluyan temas relacionados con el tiempo .
Hasta el día de hoy no hay SDK oficial para trabajar con este servicio, así que crearé uno en pocos pasos. En mi repositorio de GitHub, es posible encontrar una solución con 2 proyectos que incluyen una app de Consola para las pruebas, y una Client library para trabajar con la API de Bing Autosuggest.
La clase AutosuggestClient es la encargada de realizar las llamadas a la API y de transformar el resultado JSON en Net classes. Aquí me he encontrado con una herramienta interesante: http://json2csharp.com/ que genera clases C# a partir de un contenido JSON.
Agregando estas nuevas clases, pude completar el contrato y el proyecto AutoSuggest comenzó a ser un poco más amigable.
Ahora si, en la clase ServiceClient, que hereda de Microsoft.ProjectOxford.Common.ServiceClient pude agregar un poco de código básico de HttpClient para realizar la consulta en la API de Bing.
Llega el momento de probarlo. Y claro, como ahora estoy en Toronto, los criterios de búsqueda cambian un poco. En el siguiente ejemplo podemos ver como para la parcial “toronto rap” procesa y retorna sugerencias como “toronto raptors”, “toronto raptors schedule”, y más 😀
GitHub Sample https://github.com/elbruno/Blog/tree/master/CognitiveServices/BingAutoSuggest
Saludos @ Toronto
-El Bruno
References
1 comment