Cómo no romper los límites, cómo crear una buena arquitectura y cómo hacer un buen mantenimiento

¿Qué es Azure Search?

Las páginas web cada vez requieren de más interacción con el usuario y uno de los principales canales para ello es la búsqueda de información dentro del aplicativo.

azure-search

En muchos casos, la implementación de este tipo de funcionalidades requiere de una infraestructura dedicada (con su consecuente desembolso económico), así como unas labores de configuración importantes para conseguir el principal objetivo: que las consultas devuelvan resultados con celeridad.

Para dar solución a estos y otros problemas, la plataforma en la nube de Microsoft nos ofrece un Search as a Service: Azure Search.

El objetivo de este SaaS es conseguir un motor de búsquedas eficiente, que desde el primer minuto se encuentre listo para ser consumido; eliminando así los inconvenientes propios de la infraestructura y configuración.

¿Qué funcionalidades te ofrece Azure Search?

Una búsqueda potente no se compone en exclusiva de una gran velocidad a la hora de devolver los resultados, si no que implica una serie de funcionalidades a su alrededor orientadas a conseguir una experiencia satisfactoria para el usuario final.

✔ Facets

Facets lo podría definir como la cantidad de ocurrencias de un mismo valor en un metadata determinado.

Al realizar una búsqueda, Azure Search puede ofrecerte dicho resultado para los metadata que hayas definido en la creación del índice.

EjemploFacet

Ejemplo de uso de Facets en Encamina.tv

 

✔ Filtros y Búsquedas por texto

El servicio de búsquedas que te ofrece Azure permite realizar diferentes tipos de búsquedas en función de cómo configures tu índice. Puede realizar exploraciones por valor completo o identificar ese filtro dentro de un texto complejo.

Azure Search se sirve de la tecnología Elastic Search para realizar este tipo de búsquedas más pesadas y devolver resultados en un corto periodo de tiempo.

✔ Geolocalización

Existe la posibilidad de indicar para un campo determinado en un índice que este va a almacenar información relacionada con una posición geográfica. Esta opción te permitirá realizar búsquedas por proximidad a un punto determinado.

✔ Estructura JSON

La forma de almacenar la información dentro del índice no se encuentra acotada por una estructura definida. Es por ello que en cualquier momento puedes incluir nuevos campos en tu estructura, siempre y cuando hayas definido correctamente cuál va a ser el comportamiento de dicho campo.

Niveles de precios

El servicio de búsquedas de Azure te ofrece dos niveles de precios: Gratis y Estándar.

En la primera opción (la versión gratuita), compartes el servicio con otros suscriptores. Esta es la solución correcta para aplicativos en los que no se vayan a exceder los tres índices y no más de diez mil documentos almacenados en total. ¡Ojo!En esta primera opción no existe escalado debido a que es un servicio compartido.

Planes de pagosPor otro lado, el segundo nivel de precios (versión Estándar), está recomendado para entornos productivos con un gran volumen de información. Este nivel de precios te reserva unidades dedicadas para tu propio uso. Además puedes generar un mayor número de índices que te permite escalar el servicio en función del rendimiento que este requiera.

El escalado de Azure Search (en un nivel de pagos Estándar) se puede realizar en dos direcciones: cantidad de réplicas o de particiones.

Aumentar la cantidad de réplicas te permite lanzar más consultas por segundo, por lo que si el servicio recibe demasiadas peticiones, aumentar el número de réplicas es la solución óptima.

Por otro lado, es posible que el número de consultas no sea necesariamente alto, pero que si lo sea el número de documentos que contiene cada índice. En este caso, lo conveniente sería escalar añadiendo nuevas particiones (cada partición ofrece 25GB de almacenamiento).

 

Conclusiones

Azure Search ofrece la posibilidad de acercar la búsqueda mediante la tecnología Elastic Search a tus aplicaciones web, evitando las complicaciones a nivel de infraestructura/configuración y dotándote de un servicio preparado desde el primer momento para operar con él y, en determinadas situaciones, de carácter gratuito.

En el sabor Estándar, el servicio de búsquedas de Azure te ofrece flexibilidad, una gran escalabilidad y sobre todo un rendimiento y funcionalidades que facilitan tanto el desarrollo como la experiencia para el usuario final.

mm

Sobre David Vidal

Apasionado del baloncesto y trabajador en mis ratos libres en el sector tecnológico. Más de 8 años trabajando en ENCAMINA, 7 de ellos como Team leader ejecutando equipos. Lidero técnicamente el equipo de producto de GADA-i y realizando las veces de Principal Team leader y Tech lead para la tribu de Software avanzado. Disfruto enseñando a los más jóvenes como director del Campus formativo de ENCAMINA y comparto conocimiento organizando y dando charlas con la comunidad CrossDvlup. Actualmente MVP de Microsoft Azure.
Esta entrada ha sido publicada en Azure. Enlace permanente.
ENCAMINA, piensa en colores