使用机器学习和向量搜索提供个性化、准确的搜索体验。
使用案例: 生成式人工智能
行业: 零售
产品: MongoDB Atlas、MongoDB Atlas Search、MongoDB Atlas Vector Search、MongoDB Change Streams、MongoDB Connector for Spark
合作伙伴: Databricks
解决方案概述
该解决方案将 MongoDB灵活数据模型与 Databricks 的高级分析集成在一起,为在线零售平台创建AI增强的搜索功能,提供更直观、更高效的购物体验。
通过使用AI、机器学习和MongoDB Atlas Vector Search,您可以为客户提供个性化的购物体验,并推荐符合他们偏好和搜索历史的产品。这提高了客户满意度并促进了销售。
在此解决方案中, MongoDB Atlas提供可扩展的数据库环境,可高效管理大型且多样化的电子商务数据集。MongoDB Atlas Vector Search 可以处理复杂的搜索查询,确保客户即使使用部分搜索词也能找到他们要找的内容。最后,Databricks 提供强大的机器学习和实时分析功能,从而提高了 Vector Search 的准确性。您可以将此框架应用其他行业,例如金融服务、医疗保健和保险。
参考架构
以下两图显示了该解决方案的架构。第一个图表显示了整体解决方案架构,第二个图表更详细地显示了解决方案的矢量搜索部分。这些架构在此解决方案中协同工作。
图 1。具有不同MongoDB Atlas组件、Databricks 笔记本和数据工作流的AI增强型搜索引擎的架构。
图 2.向量搜索解决方案的架构,展示了数据如何流经 MongoDB Atlas 和 Databricks 的各个不同的集成组件
数据模型方法
使用此解决方案时,开发人员应在存储数据时使用多态模式。即使集合中的文档股票相似但不相同的结构,此模式也可实现高效查询。
在此解决方案中,每个产品文档都有通用字段,如 _id、price 或 brandName。它们还可以具有特定于产品类别的不同字段,例如 color1、ageGroup 或 season。由于 MongoDB 灵活的文档数据模型,您可以设计模式,在同一集合中表示不同产品类型时支持统一性和自定义。
以下代码区块提供了表示产品项的文档示例:
1 { 2 "_id": { 3 "$oid": "64934d5a4fb07ede3b0dc0d3" 4 }, 5 "colour1": "NA", 6 "ageGroup": "Adults-Women", 7 "link": "http://assets.myntassets.com/v1/images/style/properties/41b9db06cab6a17fef365787e7b885ba_images.jpg", 8 "brandName": "Baggit", 9 "fashionType": "Fashion", 10 "price": { 11 "$numberDouble": "375.0" 12 }, 13 "atp": { 14 "$numberInt": "1" 15 }, 16 "title": "Baggit Women Chotu Taj White Belt", 17 "gender": "Women", 18 "mfg_brand_name": "Baggit", 19 "subCategory": "Belts", 20 "masterCategory": "Accessories", 21 "score": { 22 "$numberDouble": "0.0" 23 }, 24 "season": "Summer", 25 "articleType": "Belts", 26 "baseColour": "White", 27 "id": "33464", 28 "discountedPrice": { 29 "$numberDouble": "324.0" 30 }, 31 "productDisplayName": "Baggit Women Chotu Taj White Belt", 32 "count": { 33 "$numberInt": "10" 34 }, 35 "pred_price": { 36 "$numberDouble": "0.8616750344336797" 37 }, 38 "price_elasticity": { 39 "$numberDouble": "0.0" 40 }, 41 "discount": { 42 "$numberDouble": "14.0" 43 } 44 }
构建解决方案
开始使用 Atlas Vector Search
访问 Atlas Vector Search 快速入门指南,并在几分钟内创建您的第一个索引。
部署您的应用程序
要在本地部署应用程序,请按照此Github存储库中的 README 说明进行操作。
创建 Databricks 作业和工作流程
要学习;了解如何使用JSON创建 Databricks 作业和工作流程,请参阅此 Databricks 文档。
关键要点
转换原始数据:您可以使用触发器和函数将原始数据从MongoDB Atlas推送到 Databricks。您还可以利用MongoDB Connector for Spark为不同的机器学习算法调整数据。
处理实时数据:您可以进程实时数据以获得可行的见解,例如产品评分、产品促销和推荐引擎。
使用灵活的模式:您可以使用 MongoDB 灵活的文档模型来应用多态模式。这允许您在同一集合中存储具有共享字段和唯一字段的文档。
作者
Francesco Baldissera, MongoDB
Ashwin Gangadhar,MongoDB
Vittal Pai,MongoDB