行业: 零售
产品: MongoDB Atlas、MongoDB Atlas Search、MongoDB Atlas Vector Search、Voyage AI Embeddings
解决方案概述
对许多行业来说,激活数据都是一个挑战。统一商务将多个渠道的数据组合到操作层中,为内部团队和客户应用程序提供准确且可访问的信息。
图 1。统一商务策略
借助此解决方案,您可以使用MongoDB构建存储应用程序作为统一商务策略的 ODL。该解决方案可提供更好的客户体验,并支持库存可视性、高级搜索和地理空间查询。
要实现这些优势,您首先需要打破孤立的系统。
孤立的系统和碎片化的数据导致效率低下
零售商经常使用竖井系统,这意味着数据存储在不同的平台和技术中。这种碎片化限制了可见性,并使存储难以访问权限实时信息。因此,回答客户问题依赖于其他部门和过时的系统。
门店员工还必须手动检查库房,从而导致延误和信息不正确。这些低效率的情况削弱了客户的信任并损害了客户体验。
强大的数据基础,弥补差距
ODL 结合了现有系统中的数据(例如库存、订单和客户资料),并使其在统一层中可用。MongoDB Atlas用作 ODL。其灵活的文档模型可以处理来自不同系统的多样化、复杂的数据结构,并随着业务的变化而发展。 这种容量无需严格的模式或复杂的转换即可统一数据。
在MongoDB中存储数据可通过以下方式推动创新:
内置搜索和AI功能:原生全文搜索、向量搜索和混合搜索功能启用内部创新,例如智能产品发现和个性化推荐。该数据基础还为 RAG、基于 LLM 的助手和多代理系统提供支持。
技术堆栈得到简化: MongoDB将操作数据和向量嵌入存储在一个位置,从而降低了复杂性并消除了向量数据库或搜索引擎等单一用途工具。
实时访问权限统一数据:应用程序可以轻松连接到MongoDB Atlas ,为存储使用实时、同步的数据。
图 2。每个应用程序中的三个层
数据模型方法
零售环境是动态的,产品详细信息和库存不断变化。MongoDB 灵活的文档模型可轻松管理存储配置,包括地理空间、时间序列和 分层数据。 这为统一商务奠定了坚实的基础。
图 3。ODL 要点:灵活的模型、实时同步、智能搜索
该解决方案平衡了简单性和性能,允许您对零售使用案例的操作和搜索数据进行建模。数据建模方式如下:
规范的
inventory
集合跟踪各个商店中每种产品的实时股票数据,并针对高频写入进行了优化。读取优化的
products
集合嵌入了具有存储级可用性的轻量级inventorySummary
大量。这非常适合快速筛选、用户界面呈现和搜索查询。基于触发器的同步使用MongoDB Atlas Triggers 保持库存摘要实时更新。
图 4。产品模式:文本、元数据和向量
此模式在 50-存储范围内进行性能验证。对于更扩展的场景,您可以按如下方式调整模型:
在查询中动态获取商店级库存。
使用其他建模策略重组写入和读取路径。
参考架构
该演示使用 Next.js 中的主应用程序和专用的高级搜索微服务。该演示包含以下组件:
MongoDB Atlas:集中所有数据,实现实时同步,并提供性能、可用性和安全性的基础架构。
使用 Next.js 的主应用程序:全栈应用,用于处理用户界面和地理空间查询,以查找附近有股票的商店。
采用 FastAPI 的高级搜索微服务:处理所有搜索类型(例如文本、语义和混合)并协调查询嵌入的专用后端。
具有 Voyage AI 的嵌入提供商:生成用于语义搜索的向量嵌入。
图 5。演示背后:采用MongoDB和 Voyage AI 的存储应用系统图
特别是高级搜索微服务使演示逻辑更加清晰和适应性更强。此设置具有以下优点:
分层设计:该解决方案使用的微服务由API接口、业务逻辑应用程序以及与MongoDB和 Voyage AI集成的基础架构组成。这种结构保持代码库模块化,从而更易于测试、扩展和调整。您还可以通过仅更新基础架构层来替换外部服务,例如从 Voyage AI切换到基岩。
AI灵活性:能力使用一个适配器在 Voyage AI或 Bedrock 等提供程序之间进行切换。
多渠道兼容性:单个API支持所有前端平台,包括 Web、移动和聊天机器人,从而轻松地将渠道引入在线。
搜索微服务功能
搜索微服务提供一个统一的API来处理多种检索机制,包括:
正则表达式搜索:以基本模式匹配为基准,与 MongoDB 的高级搜索功能进行比较。
全文搜索:使用MongoDB Atlas Search 进行模糊匹配、增强字段和商店级筛选。
语义向量搜索:使用 Voyage AI嵌入查找概念上相似的产品。
混合搜索:使用RRF混合文本和矢量结果。根据搜索上下文调整文本和语义相关性的权重。
图 6。搜索策略细分:文本、向量和混合搜索
借助MongoDB,您可以将搜索功能统一在一个平台中,同时结合精度、语义理解和实时数据。因此,您可以更快地为购物者提供服务,为存储团队提供支持,并扩展到所有渠道。
构建解决方案
要在自己的环境中重现此演示,请按照以下步骤操作:
克隆存储库
通过运行以下命令来克隆此Github存储库。
git clone https://github.com/mongodb-industry-solutions/retail-unified-commerce.git
导入演示集合
克隆存储库后,导航到包含示例数据的文件夹。
cd retail-unified-commerce/docs/setup/collections
在那里,您可以找到要导入到MongoDB Atlas中的JSON文件,这是一个 500 杂货产品的示例数据集,具有商店级库存和来自 Voyage AI 的嵌入向量:
inventory.json
products.json
stores.json
在Atlas中,GoBrowse Collections。 创建每个集合,然后单击 Add Data 以插入JSON文件中的文档。
配置索引
在 products
集合上,创建:
在 stores
集合上,创建地理空间索引。
设置实时库存同步(可选)
添加 inventory_sync 和 daily_inventory_simulation Atlas Triggers,将实时更新集成到库存集合中。这些功能模拟实时事务,并使数据与 products
集合保持同步。
添加环境变量
将每个 .env.example
文件复制到 前端 和 advanced-search-ms 目录中的 .env
。
在 advanced-search-ms/.env
文件中粘贴Atlas连接字符串并添加 VoyageAI API密钥,以启用基于嵌入的搜索。
VOYAGE_API_KEY=your_voyage_api_key
为确保向量比较准确且有意义,请对数据和用户查询使用相同的嵌入提供商。.env
如果切换提供商,则必须重新生成向量、创建新索引、使用新的API密钥更新 文件,并调整基础架构层中嵌入端口的实施。
使用Docker Compose 构建并运行应用程序
确认已安装Docker和Docker Compose,以及是否位于项目文件夹 retail-unified-commerce
的根目录中。从那里,使用以下命令启动应用。
make build
应用运行后:
打开浏览器并Go到http://localhost:3000以使用演示应用。
查看 http://localhost:8000/Docs 中的微服务APIDocs或阅读 自述文件。
检查 http://localhost:8000/health 的微服务运行状况。
您可以使用这些命令来控制Docker部署:
停止您的应用:使用以下命令停止所有容器并删除映像:
make clean 查看日志:使用以下命令跟踪应用部署并可视化数据如何跨层移动:
make logs
关键要点
统一商务在店内建立信任: MongoDB支持实时访问权限货架状态、股票位置和补货数据。通过将智能搜索与跨渠道可视性相结合,您可以为存储提供提供一致且知情的服务的工具,从而推动信任和客户转化。
ODL 将碎片化的数据转化为可行的见解: MongoDB充当 ODL,将孤立的数据整合为一个实时源。其灵活的文档模型可适应不同的零售结构,其内置的安全性、可用性和性能使其达到企业级水平。
统一数据支持高级搜索和AI应用程序: MongoDB将全文搜索、语义搜索和地理空间搜索统一于一处。您还可以将实时数据和嵌入存储在一起,从而实现实时发现并为未来的智能AI使用案例提供支持。
作者
Prashant Juttukonda, MongoDB
Florencia Arin, MongoDB
Angie Guemes, MongoDB
Diego Canales, MongoDB
了解详情
要了解MongoDB如何推动零售创新,请访问MongoDB for 零售。
要学习;了解统一商务如何使零售商受益,请阅读使用MongoDB Atlas实现零售创新的统一商务博客。
要详细探索使用Atlas的 ODL,请查看操作数据层白皮书。