Motor de búsqueda inteligente de productos para comercio electrónico

Servicio de Bot de Azure AI
Azure AI Search
Servicios de Azure AI
Azure SQL Database
Azure App Service

Este escenario de ejemplo muestra cómo el uso de un servicio de búsqueda dedicada puede aumentar considerablemente el nivel de pertinencia en los resultados de búsqueda para los clientes de comercio electrónico.

Architecture

Diagrama que muestra una introducción a la arquitectura de los componentes de Azure implicados en un motor de búsqueda inteligente de productos para el comercio electrónico.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

Este escenario incluye una solución de comercio electrónico donde los clientes pueden buscar a través de un catálogo de productos.

  1. Los clientes van a la aplicación web de comercio electrónico desde cualquier dispositivo.
  2. El catálogo de productos se mantiene en una instancia de Azure SQL Database para el procesamiento de transacciones.
  3. Azure AI Search usa un indexador de búsqueda para tener automáticamente actualizado su índice de búsqueda mediante el control de cambios integrado.
  4. Las consultas de búsqueda del cliente se descargan en el servicio AI Search, que procesa la consulta y devuelve los resultados más pertinentes.
  5. Como alternativa a una experiencia de búsqueda basada en web, los clientes también pueden usar un bot de conversación en medios sociales o directamente desde asistentes digitales para buscar productos y refinar de manera incremental su consulta de búsqueda y resultados.
  6. Opcionalmente, los clientes pueden usar la característica de conjunto de aptitudes para aplicar inteligencia artificial para un procesamiento todavía más inteligente.

Componentes

  • Azure App Service - Web Apps hospeda aplicaciones web que permiten la escalabilidad automática y la alta disponibilidad sin tener que administrar la infraestructura.
  • Azure SQL Database es un servicio administrado de base de datos relacional de uso general de Microsoft Azure que admite estructuras como datos relacionales, JSON, espacial y XML.
  • AI Search es una solución de búsqueda en la nube que ofrece una experiencia de búsqueda de datos enriquecida en un contenido privado y heterogéneo en las aplicaciones web, para dispositivos móviles y empresariales.
  • Servicio de Bot de Azure AI ofrece herramientas para crear, probar, implementar y administrar bots inteligentes.
  • Azure AI Services permite usar algoritmos inteligentes para ver, oír, hablar, comprender e interpretar las necesidades de los usuarios con métodos de comunicación naturales.

Alternativas

  • Puede usar las funcionalidades de búsqueda en base de datos, por ejemplo, mediante la búsqueda de texto completo de SQL Server, pero el almacén transaccional también procesa consultas (lo que aumenta la necesidad de capacidad de procesamiento) y las capacidades de búsqueda dentro de la base de datos son más limitadas.
  • Puede hospedar el código abierto Apache Lucene (en el que se basa AI Search) en Azure Virtual Machines, pero de esta forma, vuelve a la administración de una infraestructura como servicio (IaaS) y no se beneficia de las muchas características que AI Search ofrece aparte de Lucene.
  • También puede implementar Elasticsearch desde Azure Marketplace, que es un producto de búsqueda alternativo y capaz que proporciona otro proveedor, pero en este caso también se ejecuta como una carga de trabajo de IaaS.

Otras opciones de la capa de datos incluyen:

  • Azure Cosmos DB: base de datos multimodelo de distribución global de Microsoft. Azure Cosmos DB proporciona una plataforma para ejecutar otros modelos de datos, como MongoDB, Cassandra, datos de grafos o almacenamiento de tablas simple. AI Search también admite la indexación de los datos directamente de Azure Cosmos DB.

Detalles del escenario

La búsqueda es el mecanismo principal que los clientes usan para encontrar y, en último término, comprar productos, y por ello es esencial que los resultados de las búsquedas sean pertinentes en relación a la intención de la consulta realizada mediante la búsqueda, y que la experiencia de búsqueda de principio a fin coincida con la que ofrecen los gigantes de la búsqueda, proporcionando resultados casi instantáneos, análisis lingüístico, coincidencias de ubicación geográfica, filtrado, búsqueda por facetas, autocompletado y resaltado de referencias.

Imagine una aplicación web de comercio electrónico típica con datos de producto almacenados en una base de datos relacional como SQL Server o SQL Database. Generalmente, las consultas de búsqueda se controlan dentro de la base de datos mediante consultas LIKE o características de búsqueda de texto completo. Al usar AI Search en su lugar, se libera la base de datos operativa del procesamiento de consultas y se pueden empezar a aprovechar esas funcionalidades de difícil implementación que ofrecen a los clientes la mejor solución de búsqueda posible. Además, dado que AI Search es un componente de plataforma como servicio (PaaS), no tiene que preocuparse por administrar infraestructura o convertirse en una experto de búsqueda.

Posibles casos de uso

Esta solución está optimizada para el sector minorista.

Otros casos de uso pertinentes incluyen:

  • Búsqueda de listados de bienes raíces o tiendas cerca de la ubicación física del usuario (para las instalaciones y la industria inmobiliaria).
  • Búsqueda de artículos en un sitio de noticias o búsqueda de resultados deportivos, con una preferencia mayor por la información más reciente (en los sectores de los deportes, multimedia y el entretenimiento).
  • Búsqueda en repositorios de gran tamaño de organizaciones centradas en documentos tales como organismos legisladores y notarías.

En última instancia todas las aplicaciones que tenga algún tipo de funcionalidad de búsqueda pueden beneficiarse de un servicio de búsqueda dedicado.

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Escalabilidad

El plan de tarifas del servicio AI Search se utiliza principalmente para la programación de capacidad, ya que define el almacenamiento máximo que obtiene y el número de particiones y réplicas que puede aprovisionar. Las particiones permiten indexar más documentos y obtener un mayor rendimiento de escritura, mientras que las réplicas proporcionan más consultas por segundo (QPS) y alta disponibilidad.

Puede cambiar dinámicamente el número de particiones y réplicas, pero no es posible cambiar el plan de tarifa. Por lo tanto, debe tener en cuenta cuidadosamente el plan adecuado para la carga de trabajo de destino. Si de todos modos necesita cambiar el plan, tendrá que aprovisionar un nuevo servicio en paralelo y volver a cargar en él los índices, momento que puede aprovechar para señalar a sus aplicaciones el nuevo servicio.

Disponibilidad

AI Search incluye un contrato de nivel de servicio (SLA) con disponibilidad del 99,9 % para lecturas (es decir, para consultas) si tiene al menos dos réplicas y para actualizaciones (es decir, actualización de los índices de búsqueda) si tiene al menos tres réplicas. Por lo tanto, debe aprovisionar al menos dos réplicas si desea que los clientes puedan realizar búsquedas de forma fiable, y tres si los cambios en el índice también se consideran operaciones de alta disponibilidad.

Si necesita realizar cambios importantes en el índice sin tiempo de inactividad (por ejemplo, cambiar tipos de datos, eliminar o cambiar el nombre de campos), tiene que volver a generar el índice. Al igual que en el cambio de nivel de servicio, esto significa crear un nuevo índice, volver a rellenarlo con los datos y después, actualizar sus aplicaciones para que apunten al nuevo índice.

Seguridad

AI Search cumple con muchos estándares de seguridad y privacidad de datos, por lo que puede usarlo en la mayoría de los sectores.

Para proteger el acceso al servicio, puede usar el control de acceso basado en roles (RBAC) de Azure o conectarse con claves de API.

Se recomienda usar RBAC de Azure porque usa roles de Azure, que se integran con Microsoft Entra ID. Al usar roles de Azure, también puede usar métodos de autenticación sin contraseña, como identidades administradas para recursos de Azure.

Las claves de API incluyen claves de administrador que dan acceso total a todas las operaciones de contenido y claves de consulta, que dan acceso de solo lectura a la colección de documentos de un índice de búsqueda. Debe configurar las aplicaciones que no necesitan actualizar el índice para que usen una clave de consulta y no una clave de administrador, especialmente si la búsqueda se realiza desde un dispositivo del usuario final, como un script que se ejecuta en un explorador web.

También puede proteger el acceso al servicio de AI Search en entorno de red exponiéndolo a través de un punto de conexión privado.

Relevancia de búsqueda

El grado de éxito de la aplicación de comercio electrónico depende en gran medida de lo pertinente que sean los resultados de búsqueda para sus clientes. Ajuste bien el servicio de búsqueda para conseguir los mejores resultados basados en la investigación del usuario o confíe en las funciones integradas, como el análisis del tráfico de búsqueda para conocer los patrones de búsqueda de su cliente que le permitan tomar decisiones basadas en datos.

Formas habituales para optimizar el servicio de búsqueda incluyen:

  • Uso de perfiles de puntuación para influir en la pertinencia de los resultados de búsqueda, por ejemplo, basándose en qué campo se hizo la coincidencia con la consulta, cómo es de reciente la consulta y la distancia geográfica al usuario.
  • Uso de analizadores de idioma proporcionados por Microsoft que utilizan una pila de procesamiento de lenguaje natural (NLP) avanzada para interpretar mejor las consultas.
  • Uso de analizadores personalizados para garantizar que sus productos se pueden encontrar correctamente, especialmente para búsquedas de información no basada en el lenguaje, como la marca de un producto y el modelo.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Para explorar el costo de ejecutar este escenario, todos los servicios mencionados anteriormente están preconfigurados en la calculadora de costos. Para ver cómo cambiarían los precios en su caso concreto, cambie las variables pertinentes para que coincidan con el uso esperado.

Considere estos perfiles de costo de ejemplo según la cantidad de tráfico que se espera controlar:

  • Pequeño: este perfil usa una sola aplicación web Standard S1 para hospedar el sitio web, el nivel gratis de Servicio de Bot de Azure AI, un único servicio de búsqueda Basic y una instancia de SQL Database Standard S2.
  • Medio: este perfil escala verticalmente la aplicación web a dos instancias del nivel Standard S3, actualiza el servicio de búsqueda a un nivel Standard S1 y usa una instancia de SQL Database Standard S6.
  • Grande: este perfil usa cuatro instancias de una aplicación web Premium P2V2, actualiza el Servicio de Bot de Azure AI al nivel Standard S1 (con 1 000 000 de mensajes en canales prémium) y usa dos unidades del servicio de búsqueda Standard S3 y una instancia de SQL Database Premium P6.

Implementación de este escenario

Para implementar una versión de este escenario, puede seguir este tutorial paso a paso que proporciona una aplicación de ejemplo de .NET que ejecuta un sitio web de búsqueda de empleo. Muestra la mayoría de funcionalidades de AI Search descritas hasta ahora.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes

Para obtener más información sobre AI Search, visite el centro de documentación o consulte los ejemplos.

Para más información sobre otros componentes de Azure, consulte estos recursos: