Ofrezca una alineación personalizada y en tiempo real entre la marca y la estrategia de descubrimiento de productos con la base de datos y las capacidades de búsqueda avanzadas de MongoDB.
Casos de uso: Búsqueda inteligente, vistaúnica, catálogo
Industrias: Comercio minorista
Productos y herramientas: MongoDB Atlas, Búsqueda enMongoDB Atlas, Búsquedavectorial en MongoDB Atlas, Controlador Node.js deMongoDB, Controlador Pythonde MongoDB, MongoDB Voyage AI
Resumen de la solución
En un mundo inundado de productos, promociones y cambios constantes, usted enfrenta un desafío central: ¿cómo conectar la necesidad única de cada cliente con un catálogo en constante evolución con marcas que cumplen diferentes propósitos y objetivos de campaña?
Para resolver esto, vaya más allá de las promociones estáticas y adopte la amplificación de la marca, un enfoque estratégico que aumenta la visibilidad, el compromiso 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 la tienda pueden responder instantáneamente a cualquier solicitud del cliente, ya sea específica, basada en preferencias o una recomendación general.
Cada búsqueda se convierte en una consulta única y personalizada. Los resultados siguen siendo relevantes para el comprador y se alinean con las prioridades de marca específicas de la tienda, que los gerentes actualizan en tiemporeal.
Figura 1. La amplificación de la marca en tiempo real y las consultas de los usuarios alimentan el canal de agregación de MongoDB, lo que genera recomendaciones inteligentes mediante las capacidades de búsqueda avanzada de MongoDB que impulsan compras con propósito y refuerzan experiencias de marca consistentes.
Todo esto se ejecuta en MongoDB, ofreciendo resultados consistentes, seguros y de alto rendimiento.
Exploremos cómo funciona.
Enfoque del modelo de datos
Proceso de diseño de esquemas
Para evitar problemas de esquema y rendimiento a medida que su aplicación crece, comience con un modelado de datos sólido.
En esta solución, se modela una capa de datos unificada en torno a cuatro colecciones principales:
products:Catálogo de productos (nombres, descripciones, categorías, identificadores).inventory:Niveles de stock, datos de reposición, métricas predictivas.stores:Almacenar metadatos (nombre, ubicación, detalles operativos).brandAmplification:Reglas de impulso por marca/categoría por tienda.
Siga este proceso para implementar la amplificación y escalar la marca de manera confiable.
Identifique la carga de trabajo de su aplicación
Identifique sus operaciones más frecuentes.
Utilice sus consultas principales para elegir índices efectivos y reducir las llamadas a la base de datos.
Supongamos que tanto el comercio electrónico como las tiendas consumen los mismos datos operativos.
Conecte la intención del cliente con la estrategia de marca en tiempo real y mantenga el inventario consistente en todos los canales.
Utilice la siguiente tabla para estimar las cargas de trabajo de Leafy Associate y considere esta estimación como su base para las prioridades de lectura y escritura:
AcciónTipo de queryColección TargetFrecuenciaPrioridadnotasDescubrimiento de productos en tienda. Encuentra productos que coincidan con lo que pide el cliente (búsqueda de texto/intención/híbrida), mostrando si están disponibles en la tienda en este momento. (50 tiendas)
Lea
Products,inventory~500K/día
Crítica
Flujo principal de asociados. Incorpore indicadores de resumen de inventario por tienda 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 mantener una baja latencia. Considere nodos de búsqueda dedicados o con aislamiento de lectura.
Aplicar mejoras de marca para el ranking
Lea
brandAmplification~300k/día
Alto
Se aplican mejoras de marca a nivel de tienda en el momento de la clasificación; no se requieren actualizaciones de productos
Actualizar el inventario en vivo y las métricas predictivas (ingesta)
Guardar
inventory~700k/día
Crítica
Vista única de los sistemas de inventario de registro (tiendas y almacenes). Escrituras pequeñas y frecuentes.
Encuentra la tienda alternativa más cercana con stock
Lea
inventory,stores~100k/día
Bajo
Clasificación geoespacial por distancia
Configura la amplificación de marca (actualiza la estrategia de impulso)
Guardar
brandAmplification>500/día
Bajo
Mejoras de marca por tienda con alcance de categoría opcional; tiempo de ejecución ajustable, sin reescrituras de productos.
Mapee las relaciones de su esquema
Las cargas de trabajo que identifique influirán en cómo diseña su esquema.
En la amplificación de marca, su modelo de relación determina la latencia de lectura en Leafy Associate y las aplicaciones de comercio electrónico, y afecta el costo de las operaciones de escritura en los sistemas de inventario.
Optimizar consultas
Para mejorar el descubrimiento de productos en la tienda,
inventorySummary[]incorpore en los productos mediante el patrón de incrustación. Este enfoque devuelve los detalles del producto y su disponibilidad en una sola operación de lectura y evita costosas operaciones de búsqueda. El fragmento de código muestra un documento de ejemplo en laproductscolección.{ "_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
Utilice Atlas Triggers para sincronizar los campos necesarios de
inventoryy mantenerproducts.inventorySummary[]consistente.Optimizar las reglas de posicionamiento de marca en cada búsqueda
Aplica mejoras de marca al momento de posicionar y almacena reglas en
brandAmplification. Promociona marcas estratégicas sin reescribir los datos de producto.{ "_id": "68e43c6865c4a374ea78b4b0", "storeId": "store-015", "brandName": "Teamonk", "categories": ["Beverages", "Gourmet & World Food"], "boostLevel": 1, "effectiveFrom": "2025-10-01", "effectiveTo": "2025-10-31" } Indexación
Cree índices en sus campos de consulta más comunes. Consulte la sección "Crear la solución" para obtener más información. Supervise y ajuste el uso de los índices a medida que escala.
Arquitecturas de Referencia
Construya una amplificación de marca con cuatro componentes principales:
Aplicación principal de Leafy Associate: Esta aplicación, desarrollada con Next.js, gestiona la interfaz de usuario y las interacciones del usuario. Se conecta a MongoDB con las bibliotecas cliente oficiales y llama al microservicio de Búsqueda Avanzada.
Microservicio de Búsqueda Avanzada: Un backend de Python dedicado a la gestión de búsquedas. Utiliza pipelines de agregación de MongoDB para búsquedas de texto, vectoriales e híbridas, y utiliza Voyage AIpara las incrustaciones.
Servicio de incrustaciones de Voyage AI: una API externa que genera incrustaciones vectoriales para consultas de búsqueda semántica en tiempo real.
MongoDB: utilice MongoDB Atlas como su capa de datos operativos (ODL) para alojar sus colecciones.
Flujo de arquitectura
Vea el diagrama de arquitectura para comprender 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 las incrustaciones de Voyage AI. Ejecuta búsquedas de texto completo, vectoriales e híbridas dentro de una única canalización de agregación, combinando la configuración de marca en tiempo real y la intención del cliente en una plataforma de datos unificada y moderna.
0. Siloed data
Los datos operativos suelen residir en silos, como en el punto de venta (TPV), la planificación de recursos empresariales (ERP) y el marketing. Unifíquelos para ofrecer experiencias consistentes y en tiempo real.
1. Almacene datos unificados en la capa de datos operativos (ODL) de MongoDB.
El ODL utiliza todo el poder del modelo de documento flexible de MongoDB para almacenar datos estructurados, semiestructurados y no estructurados juntos en un solo lugar.
La moderna plataforma de datos ofrece rendimiento, escalabilidad horizontal y capacidades avanzadas. Permite una integración rápida, consultas de baja latencia y operaciones en tiempo real a gran 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. Un empleado de la tienda ingresa una consulta de búsqueda.
El empleado de la tienda utiliza la aplicación Leafy Associate para introducir una consulta. Selecciona texto completo(MongoDB Atlas Search), intención(Vector Search) o híbrido (fusión de rangos o de puntuaciones).
En paralelo: Configuración de amplificación de marca en tiempo real
Los gerentes 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 uso del back-end.
Al configurar la amplificación de marca, pueden observar en tiempo real los metadatos que muestran la cantidad de productos y cuántos hay en cada categoría. Esta información proviene de la etapa de pipeline $searchMeta.
3. y 4. Leafy Associate crea la solicitud de API.
La aplicación Leafy Associate crea una solicitud de búsqueda con contexto completo. Genera parámetros de ejecución directamente en el frontend y recupera la configuración de marca activa de 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 incorporaciones de consultas de clientes con Voyage AI.
6. y 7. El microservicio de Búsqueda avanzada construye la pipeline de agregación
El microservicio de Búsqueda Avanzada crea la canalización de agregación en tiempo de ejecución y la ejecuta dentro de MongoDB. El microservicio utiliza una única canalización y un único recorrido de ida y vuelta para mejorar el rendimiento y la eficiencia.
Para lograr relevancia de texto usando $search, la canalización aplica una estructura compuesta que combina must shouldcláusulas, y filter con coincidencias difusas y mejoras de campo para refinar los resultados.
Para la intención semántica que utiliza $vectorSearch, la canalización compara la consulta del cliente con incrustaciones precalculadas de datos del producto.
En la búsqueda híbrida, el microservicio fusiona resultados de texto y vectoriales utilizando $rankFusion, que aplica una fusión de rangos recíprocos basada en rangos (RRF), o $scoreFusion, que combina puntajes normalizados con pesos ajustables en tiempo de ejecución.
La amplificación de marca mejora la relevancia de los resultados a través de dos vías complementarias:
Mejora del texto previo a la fusión (dentro de $search)
Inyectar reglas como
shouldcláusulas compuestas. cláusulasscorecon. refuerzo para cada marca y categoría (opcional).
El microservicio conserva el contexto de la tienda sin fusionar otras colecciones mediante $lookup, filtrando directamente sobre Products.inventorySummary[] con $filter. Finalmente, genera una respuesta lista para la interfaz de usuario con $facet y devuelve los documentos resultantes y el recuento total.
8. Confiabilidad, escalabilidad, seguridad y coherencia en tiempo real
MongoDB mantiene una alta disponibilidad con conjuntos de réplicas y escala horizontalmente mediante fragmentación.Utilice nodos de búsqueda dedicados para lecturas de baja latencia. Mantenga la consistencia de los datos en tiempo real con flujos de cambios y disparadores Atlas. MongoDB proporcionaseguridad integral mediante control de acceso integrado, aislamiento de red y cifrado de datos en reposo, en tránsito y en uso.
Construir la solución
Para reproducir esta demostración en su propio entorno, siga estos pasos:
Crear 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.
Clonar el repositorio de soluciones
Clone el repositorio de GitHub usando el siguiente comando.
git clone https://github.com/mongodb-industry-solutions/retail-unified-commerce.git
Importar colecciones de demostración
Después de clonar el repositorio, navegue a la carpeta con los datos de muestra.
cd retail-unified-commerce/docs/setup/collections
La carpeta contiene los archivos JSON para importar a MongoDB Atlas: un conjunto de datos de muestra de 500 productos comestibles con inventario a nivel de tienda e incrustaciones de vectores de Voyage AI:
inventory.json
productos.json
stores.json
Amplificación de marca.json
En Atlas, vaya a Explorar colecciones. Cree cada colección y haga clic en Agregar datos para insertar sus documentos desde los archivos JSON.
Configura tus índices
En la colección de productos, crea:
En la colección de tiendas, cree un índice geoespacial. Leafy Associate utiliza este índice para mostrar las tiendas cercanas. El índice no afecta la amplificación de la marca.
Configurar la sincronización del inventario en tiempo real (opcional)
Agregue los disparadores Atlas inventory_sync y daily_inventory_simulation para integrar actualizaciones en tiempo real en su inventario. Estas funciones simulan transacciones en vivo y mantienen los datos sincronizados con la colección de productos.
Agregar variables de entorno
Copia cada archivo .env.example en .env tanto en el directorio de frontend como en el de advanced-search-ms.
Pegue su cadena de conexión Atlas y agregue su clave API de Voyage AI en el archivo advanced-search-ms/.env para habilitar la búsqueda basada en incrustación.
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.
Construye y ejecuta todo con Docker Compose
Verifique que tenga instalados Docker y Docker Compose, y que se encuentre en la raíz de la carpeta del proyecto retail-unified-commerce. Desde allí, inicie la aplicación con el siguiente comando.
make build
Después de ejecutar la aplicación:
Abra su navegador y vaya a http://localhost:3000 para usar la aplicación de demostración. Consulte el archivo README para obtener una guía paso a paso sobre cómo navegar por la aplicación Leafy Associate.
Consulte la documentación de la API de microservicio en http://localhost:8000/docs o lea el archivo README.
Vea el estado del microservicio en http://localhost:8000/health.
Puede utilizar estos comandos para controlar su implementación de Docker:
Detenga su aplicación: detenga todos los contenedores y elimine las imágenes usando el siguiente comando:
make clean Ver registros: realice un seguimiento de la implementación de su aplicación y el movimiento de datos mediante el siguiente comando:
make logs
Aprendizajes clave
Utilice MongoDB como su capa de datos operativos (ODL): unifique los datos de productos, tiendas e inventario para permitir una estrategia de amplificación de marca consistente, medible y adaptable en todos los canales.
Cree consultas dinámicas en tiempo de ejecución: utilice la canalización de agregación de MongoDB para alinear los resultados de la búsqueda con la intención de cada cliente y los objetivos comerciales de la tienda.
Implemente capacidades de búsqueda avanzadas: use MongoDB Atlas Search y MongoDB Atlas Vector Search para combinar búsqueda de texto completo, vectorial e híbrida para brindar recomendaciones adaptadas al contexto y alineadas con la marca en tiempo real.
Autores
Florencia Arin, MongoDB
Angie Guemes Estrada, MongoDB
Prashant Juttukonda, MongoDB
Daniel Jamir, MongoDB
Obtén más información
Plataformas de medios minoristas personalizadas:impulsadas por MongoDB.
Visita MongoDB for Retail para descubrir cómo MongoDB da forma a la industria a través de soluciones innovadoras.
Aprenda a usar MongoDB para crear una vista unificada que permita la búsqueda inteligente y empodere a los asociados de la tienda en esta Biblioteca de soluciones.
Para obtener más información sobre ODL con MongoDB Atlas, lea el documento técnico La capa de datos operativos.