关于推荐算法:推荐一款优秀电商开源项目

5次阅读

共计 3521 个字符,预计需要花费 9 分钟才能阅读完成。

简介

本文给大家举荐博主本人开源的电商我的项目newbee-mall-pro。在 newbee-mall 我的项目的根底上搭建而来, 应用 mybatis-plus 作为 orm 层框架,并增加了一系列高级性能以及代码优化,个性如下:

  1. 商城首页【为你举荐】栏目增加协同过滤算法。依照 UserCF 基于用户的协同过滤、ItemCF 基于物品的协同过滤,实现了两种不同的举荐逻辑。
  2. RedisSearch:反对中文分词搜寻,反对商品名称、简介、标签作为搜寻项,以及新品、价格排序。

    RediSearch 是一个源码可用的 Redis 模块,能够对 Redis 进行查问、二级索引和全文搜寻。这些性能反对在文本查问之上进行多字段查问、聚合、准确短语匹配、数字过滤、天文过滤和矢量相似性语义搜寻。

  3. 秒杀专区:反对性能齐备,生产可用的高级秒杀性能。
  4. 优惠卷专区:反对优惠卷后盾配置、用户注册赠卷、下单页面优惠卷应用等性能。
  5. 商城首页反对应用滑块验证码登录。
  6. 领取时集成了支付宝沙箱领取,能够在开发环境体验支付宝领取成果。
  7. 集成 Pace 页面,增加网页进度条,页面跳转丑化。
  8. 增加 Spring 事件监听机制,异步解耦下单流程。
  9. 集成spring-session-redis,反对分布式部署。
  10. 集成mybatis-xmlreload,反对 xml 文件热加载。

newbee-mall-pro 我的项目地址:

  • 源码地址:https://github.com/wayn111/newbee-mall-pro
  • 在线地址:http://121.4.124.33/newbeemall

一、开发部署

# 1. 克隆我的项目
git clone git@github.com:wayn111/newbee-mall-pro.git

# 2. 导入我的项目依赖
将 newbee-mall-pro 目录用 idea 关上,导入 maven 依赖

# 3. 装置 Mysql8.0+、Redis3.0+(RediSearch2.0+)、Jdk8+、Maven3.5+
docker 装置 RediSearch
docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:lates

# 4. 导入 sql 文件
在我的项目根目录下 sql 文件夹下,找到 `newbee_mall_db_蕴含秒杀 and 优惠卷.sql` 文件,新建 mysql 数据库 newbee_mall_db,导入其中

# 5. 解压我的项目图片
将我的项目根目录下 upload.zip 文件加压缩到 D 盘 upload 文件夹中,eg:D:\\upload

# 6. 批改 Mysql、Redis 连贯配置
批改 `application-dev.yml` 文件中数据连贯配置相干信息

# 7. 启动我的项目
找到 NewBeeMallApplication 文件,右键 `run AdminApplication`,启动我的项目

# 8. 拜访
关上浏览器输出:http://localhost:84/newbeemall

二、更新日志

2023 年 4 月 08 日更新日志

newbee-mall-pro V2.4.2 公布

更新内容:

  1. 商城首页 为你举荐 栏目增加协同过滤算法。依照 UserCF 基于用户的协同过滤、ItemCF 基于物品的协同过滤。
    实现了两种不同的举荐逻辑。

    • UserCF:基于用户的协同过滤。当一个用户 A 须要个性化举荐的时候,咱们能够先找到和他有类似趣味的其余用户,而后把那些用户喜爱的,而用户 A 没有据说过的物品举荐给 A。
      具体代码在 ltd.newbee.mall.recommend.core.UserCF 中。
    • itemCF:基于物品的协同过滤。事后依据所以用户的历史偏好数据计算物品之间的类似度,而后把与用户喜爱的物品相相似的物品举荐给用户。
      具体代码在 ltd.newbee.mall.recommend.core.ItemCF 中。

2023 年 3 月 27 日更新日志

newbee-mall-pro V2.4.1 公布

更新内容:

  1. 集成 mybatis-xmlreload,反对 xml 文件热加载
  2. 代码优化,通过阿里巴巴代码标准检测
  3. 降级局部依赖至最新

2023 年 1 月 2 日更新日志

newbee-mall-pro V2.4.0 公布

更新内容:

  1. Springboot 版本升级至 3.0.2
  2. Mybatis plus 降级至 3.5.3.1 反对 Springboot3.0

2022 年 11 月 17 日更新日志

newbee-mall-pro V2.3.0 公布

更新内容:

  1. Springboot 版本升级至 2.7.5,jdk 降级至 17
  2. 应用 switch 表达式语法扩大,优化 switch 语句
  3. 应用 instanceof 类型匹配语法简化,间接给对象赋值
  4. 应用文本块优化现有 lua 脚本显示
  5. 增加 @Serial 注解示意序列化字段和办法
  6. 代码优化,删除无用导入
  7. 降级我的项目依赖

bug 修复:

  1. 修复优惠券应用 bug

2022 年 9 月 04 日更新日志

newbee-mall-pro V2.2.0 公布

更新内容:

  1. 后盾增加商品标签集成 select2, 反对商品标签 不存在即创立
  2. 增加 Spring 事件监听机制,解耦下单流程
  3. 集成 Pace,丑化商城页面
  4. 集成 RedisSearch 中文分词搜寻
  5. 集成 tianai-captcha 滑块验证码
  6. 优化商城搜寻页面逻辑
  7. 降级我的项目依赖
  8. 增加 docker-compose 部署

bug 修复:

  1. 修复商城搜寻 bug
  2. 修复优惠券应用 bug
  3. 修复定时工作 bug

2022 年 5 月 08 日更新日志

商城 RediSearch 反对商品高低架搜寻

2022 年 4 月 23 日更新日志

商城登录页面增加滑块验证码登录, 优化登录体验

  1. 集成 tianai-captcha 滑块验证码, 反对后端验证码校验
    <img style=”width:80%” src=”https://files.mdnice.com/user/40549/04e155a9-4e99-46a1-ba61-6816663b3b6b.png”>

2022 年 4 月 12 日更新日志

应用 Spring 事件监听机制,解耦下单流程,集成 Pace 丑化商城进度条

  1. 增加 Spring 事件监听机制,解耦下单流程,将下单流程拆解为订单校验、生成订单号、发送事件异步保留订单流程
  2. 集成 Pace 页面,增加网页进度条,丑化商城页面

2022 年 3 月 27 日更新日志

商城增加 RedisSearch 搜寻,反对中文分词搜寻,举荐、新品、价格排序搜寻

  1. 增加 RedisSearch 测试用例
  2. 后盾增加 RedisSearch 同步按钮
  3. 商城反对 RedisSearch 中文分词搜寻

2022 年 3 月 21 日更新日志

降级版本号至 2.1.3,是一个功能完善版本

  1. 反对分布式部署
  2. 降级 spring 版本至 2.6.4
  3. 降级 mybatis-plus 至 3.5.1
  4. 增加 Dockerfile 文件反对容器部署

2021 年 5 月 30 日更新日志

降级版本号至 2.1.2,是一个代码优化版本

  1. 秒杀专区购物车数量显示谬误 bug 修复
  2. 支付宝沙箱领取 bug 修复,显示沙箱账号
  3. 将默认编辑器替换为 froala editor
  4. 增加站点演示模式,通过拦截器对不容许操作的后盾门路进行谬误提醒解决
  5. 降级 pom 文件局部依赖

2021 年 1 月 14 日秒杀接口降级

本次降级次要在原有秒杀性能的根底上进行了欠缺,秒杀优化如下:

  1. 秒杀页面动态化
  2. 增加了秒杀接口限流,基于 springAOP 实现
  3. 增加了秒杀接口避免反复提交,基于 spring 拦截器实现
  4. 应用令牌桶算法过滤用户申请
  5. 应用 redis-set 数据结构判断用户是否买过秒杀商品
  6. 应用 redis 配合 lua 脚本进行原子自减,判断商品缓存库存是否大于 0
  7. 获取商品缓存,判断秒杀商品是否再有效期内
  8. 执行存储过程(减库存 + 记录购买行为)
  9. 应用 redis-set 数据结构记录购买过的用户
  10. 返回用户秒杀胜利 VO
  11. 下单后启用秒杀订单 5 分钟未领取超期工作
  12. 订单 5 分钟内未领取则主动勾销订单并回退库存

三、秒杀专区

秒杀专区为用户展现了后盾设置的秒杀商品,在秒杀有效期内能够进行商品秒杀操作. 秒杀接口应用了接口限流、Redis 以及贮存过程进步秒杀操作的 tps

四、优惠劵支付

优惠劵页面为用户展现了后盾设置的可用优惠劵,在下单时能够应用优惠卷缩小下单金额

五、在线截图

商城首页 商品搜寻
购物车 订单结算
订单列表 领取页面
分类管理 会员治理
优惠劵治理 商品治理
秒杀治理 订单治理

总结

欢送大家参加应用 newbee-mall-pro 我的项目,应用中遇到问题欢送大家提出。我都会一一查看并回复。再附 newbee-mall-pro 我的项目地址:

  • 源码地址:https://github.com/wayn111/newbee-mall-pro
  • 在线地址:http://121.4.124.33/newbeemall

最初再说一句,感兴趣的敌人能够点赞加关注,你的反对将是我更新能源😘。

正文完
 0