Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Amplifica las marcas en tiempo real para el crecimiento minorista

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

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.

Amplificación de marca con MongoDB

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.

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.

  1. 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ón
    Tipo de query
    Colección objetivo
    Frecuencia
    Prioridad
    notas

    Descubrimiento 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.

  2. 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ón products.

    { "_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 inventory y mantener products.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"
    }
  3. 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.

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.

Consulta el diagrama de arquitectura para entender cómo funciona la solución de amplificación de marca.

Flujo de arquitectura

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:

  1. Refuerzo de texto previo a la fusión (dentro de $search)

    Inyectar reglas como compuesto. should cláusulas con score. impulso para cada marca y (opcional) categoría.

  2. Multiplicativo postfusión usando $set + $multiply

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.

Para reproducir esta demo en tu propio entorno, sigue estos pasos:

1

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.

2

Clona el repositorio de GitHub usando el siguiente comando.

git clone
https://github.com/mongodb-industry-solutions/retail-unified-commerce.git
3

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.

4

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.

5

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.

6

​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.

7

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:

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
  • 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.

  • Florencia Arin, MongoDB

  • Angie Guemes Estrada, MongoDB

  • Prashant Juttukonda, MongoDB

  • Daniel Jamir, MongoDB