使用Mongo构建实时推荐系统_第1页
使用Mongo构建实时推荐系统_第2页
使用Mongo构建实时推荐系统_第3页
使用Mongo构建实时推荐系统_第4页
使用Mongo构建实时推荐系统_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MongoDB构建实时推荐系统推荐系统介绍案例分享MongoDB议程安排个性化推荐3 内容推荐用户行为推荐内容推荐商品 客户画像客户标签精准营销产品分析 关系推荐代理人推荐社交关系商户推荐实时要求更高4实时、动态数据流式数据处理数据动态聚合基于行为触发处理非实时、静态数据定时数据同步数据手工聚合批量数据处理从 低效 静态到 实时 动态推荐系统介绍案例分享MongoDB议程安排6最初需求:新客户推荐业务推荐规则 附近N公里(同城市) 代理人(级别、年龄等) 推荐次数(升序)7地理位置查询GeoHash 经纬度转化为字符串 Hash值越长,越精确 无法得到距离、边界问题8MongoDB地理位置索引

2、2dsphere&2d索引 支持地理位置包含、交叉、附件的查询 支持复合索引 可以计算距离业务场景 同一个城市10公里范围内历史推荐次数最少的代理人 agentID: 0001, agentName: “Alice”, shipToAddress: province: “Shandong”,city: “Qingdao”,formatAddress: “Shandong,Qingdao, street.”,loc : -74, 40.74, level: “senior”, recommendCount: 0,db.agent.createIndex(”shipToAddress.city :

3、 1, recommendCount : 1, shipToaddress.loc : 2dsphere)db.agent.find( shipToAddress.loc : $geoWithin:$centerSphere: -88,30,10/6378.1, shipToAddress.city : “senior”).sort(recommendCount : 1).limit(1)9权重计算接触事件:关注点赞转发拜访 _id: ObjectId(), customer: 0001, agent: “301671”, eventType: “Follow|Share|Like|”, ti

4、meStamp: Date(2016/04/01 ”)事件权重关注0.1点赞0.5转发1拜访5 _id: ObjectId(), customer: 0001, agent: “301671”, score: 80 关系推荐 前台应用根据需要筛选并推荐10数据处理架构10CRM交易外部数据用户行为数据源标准化中间集合目标集合ETL或MQ计算逻辑问题数据目标库数据服务REST API分析客服推荐11数据集成(标准化)cust_id: 14f_name: Jamesl_name: Bonddob: 07/14/1968eMail: 007fno: 77first: Jimlast: Bondbor

5、n: 1968-07-14eMail: 007xc_id: 26name: James Bindbdate: July 14, 68eMail: 007source_id: A_14first_name: Jameslast_name: Bonddob: 1968-07-14eMail: 007source_id: B_77first_name: Jimlast_name: Bonddob: 1968-07-14eMail: 007source_id: C_26first_name: Jameslast_name: Binddob: 1968-07-14eMail: 007_id: 007fi

6、rst_name: Jimlast_name: Bonddob: 1968-07-14数据源中间表统一字段名、数据类型目标表数据合并、测试、调和12数据集成(计算逻辑)12业务规则使用场景(需要哪些属性)计算规则(权重、时间衰减等)并发控制多渠道并发数据冲突redis分布式锁异常处理数据时间、字段格式等记入问题集合定时任务或手工处理计算框架Spark(Streaming、 MLib、GraphX、 Spark SQL)AWS Lambda标准化中间集合目标集合计算逻辑问题数据目标库13数据服务目标库数据服务REST API分析客服推荐应用改造创建API来提供数据服务(例如:RESTful we

7、b service)重定向应用来使用web service推荐系统介绍案例分享MongoDB议程安排15MongoDB优势JSON文档,面向对象,开发高效数据结构变更无代价,便于程序快速迭代弹性伸缩,大数据量处理无压力直接与Spark对接16MongoDB注意点2dsphere&2d索引 支持地理位置上包含、交叉、附近类型的查询 支持sparse属性(文档没有对应的field,不会更新索引) 如果集合里包含多个2dsphere、2d索引,在$geoNear中指定key;如果不指定,默认先使用第一个2d索引,没有再使用第一个2dsphere索引 不能是分片片键 联合索引,2d必须loc为前导字段,2dsphere则不需要17MongoDB注意点Aggregation pipeline开始阶段,尽早使用$match过滤,并尽量使用索引过滤和排序 $lookup的效率,foreignField不要忘记索引 SERVER-7568: Aggregation framework favors non-blocking sorts解决办法:在$match和$sort之间加$projectdb.event.aggregate($match: customerID: 123456,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论