[Article] Azure | Azure Search

En este artículo hablaremos de Azure Search. Azure Search es una solución que Microsoft nos brinda para poder integrar una excelente experiencia de búsqueda en nuestras aplicaciones móviles, web o cualquier aplicación como empresariales.

Objetivo

En esta entrega veremos qué es Azure Search. También, como configurar nuestra cuenta de Azure Search y un pequeño demo de como utilizarlos en una aplicación web.

Audiencia

Este documento está dirigido a personas que conocen muy poco o nada sobre el tema o personas que desarrollan tareas de consultoría de desarrollo o que simplemente están interesados en leer e investigar sobre la tecnología alcanzada por esta publicación.

Desarrollo

Todos los días, como usuarios, al usar aplicaciones estamos acostumbrados a los métodos de búsqueda rápidos y muy eficientes. Por ejemplo, todos los dias, en algun momento, buscamos en Google o algun motor de búsqueda de nuestra preferencia. Cuando usamos otras aplicaciones buscamos la misma experiencia de búsqueda.

Azure Search nos da la posibilidad de tener la misma experiencia de búsqueda en nuestras aplicaciones. Todo esto es posible gracias que tenemos disponible una gran cantidad de APIs Rest para consumir el servicio, también, un SDK muy completo en .Net. Por último,  dentro del portal de Azure tenemos muchas herramientas para la creación de prototipos, creación y consulta de índices.

Para poder comenzar es necesario una cuenta de Azure. Les dejo el link para poder obtener una cuenta gratuita junto a 200 dolares de crédito para poder probar las capacidades que Azure Search brinda:

Suscribirse

Características de Azure Search

A continuación analizaremos las características funcionales más interesantes, desde mi punto de vista, que podemos usar con Azure Search. Son las siguientes:

Búsqueda de texto completo y analisis de texto

Corresponde a la búsqueda que se basa escribiendo en una caja de texto. Podemos usar operadores lógicos o frases de búsqueda como cualquier buscador de internet.

Integración de datos

Azure Search soporta gran variedad de orígenes de datos. La unica caracteristica que tienen que tener estos datos es que tienen que respetar la estructura de datos del tipo JSON.

No obstante tenemos disponible soporte para Azure SQL Database, Azure Cosmos DB o Azure Blob Storage. En este último podemos tener documentos del tipo Microsoft Office, PDF o Html los cuales pueden ser indexados para búsquedas dentro de documentos.

Análisis Lingüístico

Básicamente, tendremos la capacidad de analizar la busqueda relacionado con una fonética de un lenguaje o alguna expresión regular. Podemos controlar el idioma, los tiempos verbales, género, nombres plurales o singulares o inclusive el manejo de palabras compuestas.

Características de la experiencia del usuario

Entre las características más importantes que podemos brindarles a nuestros usuarios tenemos:

  • Sugerencias de búsqueda: a medida que los usuarios van escribiendo su búsqueda le podemos ir sugerencias mostrando relacionadas con lo ingresado.
  • Navegación por facetas: Es un listado de categorización que podemos usar como filtros. Este tipo de filtro es muy similar a los sitios de compras, como amazon, que en el lado izquierdo tenemos varias opciones agrupadas que al hacer un solo click filtran la búsqueda principal.
  • Resaltado de referencias: podemos aplicarle un formato al resultado, por ejemplo subrayarlo en negrita, indicando que está relacionado con la búsqueda.
  • Ordenación: podemos ofrecer varias forma de ordenar la información obtenida del resultado de búsqueda.
  • Paginación: Como todo buen listado de búsqueda, podemos paginarlo.

Supervisión e informes

Es importante analizar las búsquedas de nuestros usuarios con el objetivo de tener que ajustar nuestro índices para que las posteriores búsquedas sean más efectivo y eficiente. Azure Search registra todas la búsquedas realizadas para posterior análisis. En un post futuro tocaremos este tema con más detalle.

Otras Características

Además de las nombradas, Azure Search tiene las siguientes características:

  • Georeferencia: Filtro por ubicaciones geográficas.
  • Relevancia: Usando perfiles de puntuación podemos darle relevancia a ciertos documentos.
  • Herramientos de prototipos e Inspección: configurar indexadores, crear índices, consulta de un índice particular, etc.

Manos a la Obra

Una vez que tenemos nuestra cuenta Azure, es muy sencillo crear una cuenta de Azure Search. Debemos seguir los siguiente pasos:

1. Ingresar al portal y buscar en el MarketPlace “Búsqueda de Azure”, lo seleccionamos y presionamos crear.

2. Completamos los datos que nos solicita el formulario. En mi caso la url sera testwod pero pueden seleccionar un nombre que ustedes deseen. En el plan de tarifa, para motivos de este demo, usaremos la tarifa gratis.

3. Un vez creado, vamos a grupo de recursos, seleccionamos el nombre de recurso que utilizamos y dentro podemos ver la cuenta de Azure Search que creamos. Le hacemos clic y veremos la información necesaria de nuestra cuenta.

Volvamos a nuestro panel de Azure Search. Para conectar nuestra base de datos debemos seleccionar desde la barra de opciones “Importar Datos” y seleccionamos Muestras para nuestro demo:

Luego de vincularlo veremos la pantalla de configuración de nuestros índices que descubrirá, desde nuestro origen de datos. Vamos a dejarlos por default.

Por último, seleccionamos un nombre para nuestro índice.  El tiempo el cual queremos que se refresque nuestros índices es configurable. Cuales son retornables, cuales filtrables, por cual vamos a ordenar, etc. Para esto último debemos habilitarlo en el datasource como dice en el mensaje. Por el momento no será necesario.

Ahora, una vez que el indexador termine podremos ingresar al explorador de búsqueda para probar algunas consultar.

En la imagen podemos ver que tenemos un cuadro donde podemos ingresar nuestra consulta, como también, un cuadro donde podemos obtener la url de esa búsqueda. Por último, un cuadro con el resultado de la búsqueda.

Vamos a escribir la siguiente consulta y veremos los resultado que se corresponden a nuestros parámetros:

search=granite&country=us

Conclusión

Azure Search es una excelente herramienta para realizar potentes búsquedas desde nuestros orígenes de datos existentes. No es necesario crear una plataforma para esto. Azure Search pone a nuestra disponibilidad la misma experiencia de usuario y la misma potencia de un motor búsqueda especializado para nuestra aplicaciones.

En este post hemos hablamos sobre Azure Search, sus características, como configurar nuestra cuenta y configurar nuestros primeros índices para hacer pruebas. En el próximos post integraremos estos índices a una aplicación en .Net para poder explorar un poco más las capacidades en un sitio web.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *