Entrega alineación personalizada y en tiempo real entre el descubrimiento de productos, la marca y la estrategia con la base de datos de MongoDB y las capacidades avanzadas de búsqueda.
caso de uso: Búsqueda Inteligente, Vista Única, Catálogo
Industrias: Comercio minorista
Productos y herramientas: MongoDB Atlas, MongoDB Atlas búsqueda, MongoDB Atlas búsqueda vectorial, MongoDB Node.js driver, MongoDB Python driver, MongoDB Voyage IA
Descripción general de la solución
En un mundo inundado de productos, promociones y cambios constantes, te enfrentas a un desafío central: ¿cómo conectas la necesidad única de cada cliente con un catálogo en constante evolución donde las marcas cumplen diferentes funciones y objetivos de campaña?
Para resolver esto, Go más allá de las promociones estáticas y abraza la amplificación de marca, un enfoque estratégico que aumenta la visibilidad, la interacción y la conexión emocional, con las marcas adecuadas, en el momento adecuado y en el contexto adecuado.
En esta solución, aprenderás cómo implementar una estrategia de amplificación de marca utilizando datos y tecnología para alinear la intención del cliente con tus objetivos en venta minorista.
Con la aplicación Leafy Associate —impulsada por MongoDB y búsqueda avanzada— los asociados de tienda pueden responder al instante a cualquier solicitud de cliente, ya sea específica, basada en preferencias o una recomendación general.
Cada búsqueda se convierte en una consulta personalizada única. Los resultados se mantienen relevantes para el comprador y se alinean con las prioridades de marca específicas de la tienda que los gerentes actualizan en tiempo real.
Figura 1. La amplificación de marca en tiempo real y las queries de usuarios se alimentan en el pipeline de agregación de MongoDB, generando recomendaciones inteligentes a través de las capacidades avanzadas de búsqueda de MongoDB que impulsan compras intencionadas y refuerzan experiencias de marca coherentes.
Todo esto funciona en MongoDB, proporcionando resultados coherentes, seguros y de alto rendimiento.
Exploremos cómo funciona.
Enfoque de modelo de datos
Proceso de diseño de esquemas
Para prevenir problemas de esquema y rendimiento a medida que la aplicación crece, comienza con un modelado de datos sólido.
En esta solución, se modela una capa de datos unificada en torno a cuatro colecciones principales:
productsCatálogo de productos (nombres, descripciones, categorías, identificadores).inventoryNiveles de acciones, datos de reposición, métricas predictivas.storesGuardar metadatos de las tiendas (nombre, ubicación, detalles operativos).brandAmplification: Reglas de impulso de marca/categoría por tienda.
Sigue este proceso para implementar la amplificación de la marca y escalar de forma fiable.
Identifica la carga de trabajo de tu aplicación
Identifica tus operaciones más frecuentes.
Usa tus consultas principales para elegir índices eficaces y reducir las llamadas a las bases de datos.
Supón que tanto el comercio electrónico como las tiendas consumen los mismos datos operativos.
Conecta la intención del cliente con la estrategia de marca en tiempo real y mantén el inventario coherente en todos los canales.
Usa la siguiente tabla para estimar las cargas de trabajo de Leafy Associate y trata esta estimación como referencia para las prioridades de lectura/escritura:
AcciónTipo de queryColección objetivoFrecuenciaPrioridadnotasDescubrimiento de productos en tienda. Encuentre productos que coincidan con lo que el cliente pide (búsqueda por texto/intención/híbrida) y muestre si están en stock en esta tienda en este momento. (50 tiendas)
Lea
Products,inventory~500K/día
Crítica
Flujo principal de asociado. Incorpore indicadores de inventario por almacenar en cada producto para evitar $lookup
Búsqueda de comercio electrónico. Búsqueda por especificación, intención o híbrido (6K productos)
Lea
Products~1M/día
Crítica
Impulsa el descubrimiento en línea y debe mantenerse con baja latencia. Considera nodos de búsqueda dedicados o aislados para lectura
Aplicar impulsos de marca para el ranking
Lea
brandAmplification~300k/día
Alto
El impulso de la marca a nivel de tienda se aplica en el momento de la clasificación; no se requieren actualizaciones de productos
Actualiza el inventario en tiempo real y las métricas predictivas (ingestión)
Guardar
inventory~700k/día
Crítica
Vista única de los sistemas de registro de inventario (tiendas y almacenes). Guardados pequeños y frecuentes
Encuentra la tienda alternativa más cercana con acciones
Lea
inventory,stores~100k/día
Bajo
Rango geoespacial por distancia
Configura la amplificación de marca (actualiza la estrategia de impulso)
Guardar
brandAmplification>500/día
Bajo
Impulsos de marca por tienda con alcance de categoría opcional; ajustable en tiempo de ejecución, sin retoques de productos.
Mapea tus relaciones de esquemas
Las cargas de trabajo que identifiques influyen en la forma en que diseñas tu esquema.
En la amplificación de marca, su modelo de relación determina la latencia de lectura en las aplicaciones Leafy Associate y de comercio electrónico, y afecta el costo de las operaciones de escritura en sistemas de inventario.
Optimizar consultas
Para mejorar el descubrimiento de productos en tienda, embebe
inventorySummary[]en los productos utilizando el patrón de integración. Este enfoque devuelve detalles del producto y disponibilidad en una única operación de lectura y evita operaciones costosas de $lookup. El snippet de código muestra un documento de ejemplo en la colecciónproducts.{ "_id": "685bfe2b3d832cf7e1614577", "productName": "Onion", "brand": "Fresho", "price": { "amount": 31.02, "currency": "USD" }, "category": "Fruits & Vegetables", "subCategory": "Potato, Onion & Tomato", "aboutTheProduct": "Onion is a versatile vegetable used in salads and curries.", "embeddingText": "Onion | Fresho | 5 kg | Fruits & Vegetables | ...", "multimodalEmbeddingVector": [0.03, 0.12, 0.07, "..."], "inventorySummary": [ { "storeId": "store-019", "sectionId": "S01", "aisleId": "I11", "shelfId": "SH111", "inStock": true, "nearToReplenishmentInShelf": false }, { "storeId": "store-027", "sectionId": "S02", "aisleId": "I21", "shelfId": "SH213", "inStock": true, "nearToReplenishmentInShelf": true } ] } Para optimizar las consultas de inventario operativo de vista única, guarda datos de inventario detallados en una colección separada y hace referencia al producto. Almacena un documento por producto para mantener una vista única en todos los canales y almacenes, y actualiza las acciones en un solo lugar. El siguiente snippet de código muestra un ejemplo de documento en la colección
inventory.{ "_id": "6863fc8057105b3a8ccb57cd", "productId": "685bfe2b3d832cf7e1614577", "storeInventory": [ { "storeId": "store-015", "storeName": "Trikasemmart - Chiang Mai", "coordinates": [98.985583, 18.7929], "shelfQuantity": 22, "backroomQuantity": 0, "inStock": true, "predictedStockDepletion": "2025-10-23", "nextRestock": "2025-10-19" }, { "storeId": "store-006", "storeName": "Vinyuvanichkul - Nakhon Ratchasima", "coordinates": [102.104829, 14.964336], "shelfQuantity": 27, "backroomQuantity": 49, "inStock": true, "nextRestock": "2025-10-21" } ], "updatedAt": "2025-10-17T00:00:01Z" } Para encontrar tiendas cercanas con stock disponible, guarda las coordenadas de la tienda en un punto GeoJSON para ejecutar consultas geoespaciales. El siguiente snippet de código muestra un ejemplo de documento en la colección
stores.{ "_id": "684aa28064ff7c785a568aca", "storeId": "store-001", "storeName": "Chaihirankarn, Bunlupong and Chomsri - Surat Thani", "location": { "type": "Point", "coordinates": [ 99.317989, 9.133786 ], "address": "3597 Methavorakul Tunnel Suite 886", "city": "Surat Thani" }, … } Coherencia de datos
Use Atlas Triggers para sincronizar los campos necesarios de
inventoryy mantenerproducts.inventorySummary[]coherentes.Optimiza las reglas de clasificación de marcas en cada búsqueda
Aplica mejoras de marca en el momento de la clasificación y almacena reglas en
brandAmplification. Promociona marcas estratégicas sin reescribir datos de productos.{ "_id": "68e43c6865c4a374ea78b4b0", "storeId": "store-015", "brandName": "Teamonk", "categories": ["Beverages", "Gourmet & World Food"], "boostLevel": 1, "effectiveFrom": "2025-10-01", "effectiveTo": "2025-10-31" } Indexación
Crea índices en los campos de query más comunes. Consulta la sección "Compilar la solución" para obtener más información. Supervisa y ajusta el uso del índice a medida que escalas.
Arquitecturas de Referencia
Compile la amplificación de la marca con cuatro componentes centrales:
Aplicación principal de Leafy Associate: La aplicación principal, creada con Next.js, gestiona la interfaz de usuario y las interacciones del usuario. Se conecta a MongoDB con librerías de clientes oficiales y llama al microservicio Advanced Search.
Microservicio de búsqueda avanzada: Un backend de Python dedicado para manejar búsquedas. Usa pipelines de agregación de MongoDB para búsquedas de texto, vectoriales e híbridas, y usa Voyage AI para embeddings.
Servicio de embeddings de Voyage IA: Una API externa que genera embeddings vectoriales para consultas de búsqueda semántica en tiempo real.
MongoDB: Use MongoDB Atlas como su Capa de Datos Operacionales (ODL) para host sus colecciones.
Flujo de arquitectura
Consulta el diagrama de arquitectura para entender cómo funciona la solución de amplificación de marca.
Figura 2. La arquitectura ilustra cómo el ODL de MongoDB integra la aplicación Leafy Associate, el Microservicio de Búsqueda Avanzada y los embeddings de Voyage IA. Ejecuta búsquedas de texto completo, vectores e híbridas dentro de una única pipeline de agregación, combinando la configuración de la marca en tiempo real y la intención del cliente en una plataforma moderna de datos unificada.
0. Siloed data
Los datos operativos suelen estar aislados, por ejemplo, en puntos de venta (POS), planificación de recursos empresariales (ERP) y marketing. Unifícalo para entregar experiencias coherentes en tiempo real.
1. Almacena datos unificados en la Capa de Datos Operativos (ODL) de MongoDB
El ODL utiliza toda la potencia del modelo orientado a documentos flexible de MongoDB para almacenar datos estructurados, semiestructurados y no estructurados juntos en un solo lugar.
La plataforma de datos moderna ofrece un alto rendimiento, escalabilidad horizontal y capacidades avanzadas. Permite una integración rápida, consultas de baja latencia y operaciones en tiempo real a escala.
Este enfoque unificado mantiene todos los sistemas—desde el comercio electrónico hasta las aplicaciones en la tienda—funcionando con la misma información confiable y actualizada.
2. El empleado de la tienda introduce una consulta de búsqueda
El asociado de tienda utiliza la aplicación Leafy Associate para ingresar una query. Seleccionan texto completo (MongoDB Atlas Search), intención (búsqueda vectorial) o híbrido (fusión de rangos o fusión de puntuaciones).
En paralelo: configuración de amplificación de marca en tiempo real
Los administradores de tienda y el personal autorizado utilizan la aplicación Leafy Associate para crear reglas de impulso por tienda en la colección brandAmplification, para su uso en el back end.
A medida que configuran la amplificación de la marca, pueden observar en tiempo real los metadatos que muestran la cantidad de productos y cuántos de ellos se encuentran en cada categoría. Esta información proviene de la etapa de pipeline $searchMeta.
3. y 4. Leafy Associate compila la solicitud de API
La aplicación Leafy Associate compone una solicitud de búsqueda con todo el contexto. Crea parámetros de tiempo de ejecución directamente en el front-end y recupera la configuración activa de la marca para esa tienda desde MongoDB. Envía la solicitud al microservicio de Búsqueda Avanzada.
POST /api/v2/search { "query": "green tea skin care", "storeObjectId": "684aa28064ff7c785a568aca", "option": 4, "page": 1, "page_size": 20, "weightVector": 0.5, "weightText": 0.5, "fusionMode": "rrf",// you can also use "scoreFusion" "brandAmplification": [ { "name": "Innisfree", "boostLevel": 1 }, { "name": "Olay", "boostLevel": 2, "categories": ["Face Care", "Skincare"] }, { "name": "The Body Shop", "boostLevel": 3 } ] }
5. Servicio de incrustaciones con Voyage AI
Cuando el tipo de búsqueda es vectorial o híbrida, el microservicio genera incrustaciones de la query del cliente con Voyage IA.
6. y 7. El microservicio de Búsqueda avanzada construye la pipeline de agregación
El microservicio de búsqueda avanzada construye el pipeline de agregación en tiempo de ejecución y lo ejecuta dentro de MongoDB. El microservicio utiliza un solo pipeline y una sola ida y vuelta para mejorar el rendimiento y la eficiencia.
Para la relevancia de texto usando $search, el pipeline aplica una estructura compuesta que combina las cláusulas must, should y filter con coincidencias difusas y impulsos de campo para afinar los resultados.
Para la intención semántica que utiliza $vectorSearch, el pipeline compara la consulta del cliente con las incrustaciones precomputadas de los datos del producto.
En la búsqueda híbrida, el microservicio fusiona resultados de texto y vector utilizando $rankFusion, que aplica la fusión de rangos recíproca basada en rangos (RRF), o $scoreFusion, que mezcla puntuaciones normalizadas con pesos ajustables en tiempo de ejecución.
La Amplificación de Marca mejora la relevancia de los resultados a través de dos caminos complementarios:
El microservicio preserva el contexto de tienda sin fusionar otras colecciones utilizando $lookup al filtrar directamente sobre Products.inventorySummary[] con $filter. Por último, produce una respuesta lista para Interfaz de Usuario con $facet y devuelve tanto los documentos resultantes como el total de recuentos.
8. Confiabilidad, escalabilidad, seguridad y coherencia en tiempo real
MongoDB mantiene alta disponibilidad con set de réplicas y escala horizontalmente con particionado. Utiliza nodos de búsqueda dedicados para lecturas de baja latencia. Mantén los datos coherentes en tiempo real con Change Streams y Atlas Triggers. MongoDB ofrece seguridad integral, de extremo a extremo mediante control de acceso integrado, aislamiento de red y cifrado entre datos en reposo, en tránsito y en uso.
Compilar la solución
Para reproducir esta demo en tu propio entorno, sigue estos pasos:
Cree una base de datos en MongoDB Atlas
Faça login na MongoDB Atlas e implemente um cluster nivel gratuito. Cree su base de datos llamada retail-unified-commerce o actualice su archivo .env archivo caso utilize outro nome.
Clona el repositorio de la solución
Clona el repositorio de GitHub usando el siguiente comando.
git clone https://github.com/mongodb-industry-solutions/retail-unified-commerce.git
Importar colecciones demo
Después de clonar el repositorio, navega hasta la carpeta con los datos de muestra.
cd retail-unified-commerce/docs/setup/collections
La carpeta contiene los archivos JSON a importar en MongoDB Atlas, un conjunto de datos de muestra de 500 productos de supermercado con inventario a nivel de tienda y vectores de incrustación de Voyage IA:
inventory.json
products.json
stores.json
brandAmplification.json
En Atlas, ve a Explorar colecciones. Crea cada colección y haz clic en Agregar Datos para insertar tus documentos desde los archivos JSON.
Configure sus índices
En la colección de productos, crea:
En la colección de tiendas, crea un índice geoespacial. Leafy Associate utiliza este índice para mostrar las tiendas cercanas. El índice no afecta la amplificación de la marca.
Configura la sincronización de inventarios en tiempo real (opcional)
Agregue el inventory_sync y el daily_inventory_simulation Atlas Triggers para integrar actualizaciones en tiempo real en su colección de inventarios. Estas funciones simulan transacciones en vivo y mantienen los datos sincronizados con la colección de productos.
Añadir variables de entorno.
Copia cada archivo .env.example en .env tanto en el directorio de frontend como en el de advanced-search-ms.
Pega tu cadena de conexión de Atlas y añade tu clave de API de Voyage IA en el archivo advanced-search-ms/.env para habilitar la búsqueda basada en incrustaciones.
VOYAGE_API_KEY=your_voyage_api_key
Para asegurar comparaciones vectoriales precisas y significativas, utiliza el mismo proveedor de embeddings tanto para tus datos como para las user queries. Si cambias de proveedor, debes regenerar los vectores, crear un nuevo índice y actualizar el archivo .env archivo con la nueva clave de API y ajustar la implementación de la integración puerto en la capa de infraestructura.
Compila y ejecuta todo con Docker Compose
Verifica que tienes Docker y Docker Compose instalados y que te encuentras en la carpeta raíz del proyecto retail-unified-commerce. Desde allí, inicia la aplicación utilizando el siguiente comando.
make build
Después de que la aplicación esté ejecutándose:
Abre tu explorador y dirígete a http://localhost:3000 para utilizar la aplicación de demostración. Consulta el README para obtener una guía paso a paso sobre cómo navegar por la aplicación Leafy Associate.
Ver la documentación API del microservicio en http://localhost:8000/docs o leer el README.
Mira el estado del microservicio en http://localhost:8000/health.
Puedes usar estos comandos para controlar tu implementación de Docker:
Detén tu aplicación: Detén todos los contenedores y remueve las imagenes usando el siguiente comando:
make clean Ver registros: Rastrea la implementación de tu aplicación y el movimiento de datos utilizando el siguiente comando:
make logs
Lecciones clave
Utiliza MongoDB como tu Capa de Datos Operacionales (ODL): Unifica los datos de productos, tiendas e inventarios para permitir una estrategia coherente, medible y adaptable de amplificación de marca en todos los canales.
Construya consultas dinámicas en tiempo de ejecución: Utiliza el Pipeline de agregación de MongoDB para alinear los resultados de búsqueda con la intención de cada cliente y los objetivos comerciales de la tienda.
Implementar capacidades de búsqueda avanzadas: Usa MongoDB Atlas Search y MongoDB Atlas búsqueda vectorial para combinar búsqueda de texto completo, vectorial e híbrida y ofrecer recomendaciones contextuales en tiempo real alineadas con la marca.
Autores
Florencia Arin, MongoDB
Angie Guemes Estrada, MongoDB
Prashant Juttukonda, MongoDB
Daniel Jamir, MongoDB
Obtén más información
Plataformas de medios de venta minorista personalizados: impulsadas por MongoDB.
Visite MongoDB para venta minorista para descubrir cómo MongoDB da forma a la industria mediante soluciones innovadoras.
Aprende a usar MongoDB para crear una vista unificada que permita búsquedas inteligentes y empodere a los asociados de la tienda en esta Biblioteca de Soluciones.
Para aprender más sobre la Capa de Datos Operativos (ODL) con MongoDB Atlas, consulte el informe técnico de la Capa de Datos Operativos.