补充说明文档

This commit is contained in:
RuyiLuo
2021-12-05 16:27:11 +08:00
parent 9e89d21789
commit 66909abc48
4 changed files with 44 additions and 89 deletions

View File

@@ -1,25 +1,28 @@
# 项目环境
该项目主要是新闻推荐系统的后端及推荐服务相关的内容,这个项目将前端单独拿出来了。
**pythonh环境**
1. 安装conda环境
2. 创建conda虚拟环境: conda create -n news_rec_py3 python==3.8
3. 安装依赖文件: pip install -r requirements.txt
代码规范先用python规范就行
**ubuntu数据库环境**
1. 参考 2.2.1.1 Mysql基础
2. 参考 2.2.1.2 MongoDB基础
3. 参考 2.2.1.3 Redis基础
# TODO
项目目录结构待完善
**ubuntu前端环境配置**
1. 安装node, 推荐安装v8.17.0版本(已经放到了项目目录中)
2. 安装前端环境依赖:
1. 跳转到前端项目文件目录cd $HOME/fun-rec/codes/news_recsys/news_rec_web/Vue-newsinfo
2. 命令行运行npm install
# 项目启动
## 前端展示逻辑:
1. 开机页放一张和app大小相同的页面上面显示几个字此时只能点击我的进行登录否则无法看到内部的具体内容
2. 登录页,用户名,密码,登录,注册等相关界面
输入用户名和密码如果后端返回ok, 就跳转到推荐页,否则提示账号或者密码错误
3. 推荐和热门面显示的内容不需要变
4. 点击某一篇文章之后,向后端发送 user_id, news_id, action= { read, likes, collections }
**启动后端服务**
1. 跳转到后端项目文件目录: cd $HOME/fun-rec/codes/news_recsys/news_rec_server
2. 启动后端服务: python server.py
## 后端数据相关
1. log日志
2. 用户画像数据及更新
3. 新闻画像数据及更新
运行新闻推荐后端服务
python server.py
**启动前端服务**
1. 跳转到前端项目文件目录cd $HOME/fun-rec/codes/news_recsys/news_rec_web/Vue-newsinfo
2. 启动前端服务npm run dev
3. 访问地址`http://localhost:3000`

View File

@@ -8,22 +8,19 @@ scrapy项目结构的细节可以参考开源项目对应的文档
- 爬取新闻是一个增量的过程,每天只爬取当天的新闻
- 新闻爬取的时候需要提前之前物料池中的所有物料的标题给存下来用来去重
## materials_process/
TODO:
1. 启动crontab定时爬取联调的时候再使用
2. 爬取新闻的数量,最后需要改大一点
- log日志处理
- 新闻画像处理
- 新闻画像存入redis
## materials/
## user_process/
- 根据爬取的数据制作物料画像
- 新闻物料去重逻辑的实现需要依赖materials/中最新的物料画像
- 用户画像处理
TODO:
1. 将前端展示数据根据news_id存储到redis中
---
注意Redis的value存储中文后get之后显示16进制的字符串”\xe4\xb8\xad\xe5\x9b\xbd”如何解决
启动redis-cli时在其后面加上--raw即可汉字即可显示正常, 如上面所示的内容
注意zrange rec_list 0 9 返回的是排序之后的前10个元素并且是按照value从小到大进行排序的
启动redis-cli时在其后面加上--raw即可汉字即可显示正常, 如上面所示的内容

View File

@@ -0,0 +1,8 @@
## 物料构建脚本
1.
## 离线物料自动化构建
**每天0点爬取前一天的内容爬取完数据再更新特征库更新完特征库之后再更新用户的画像然后将redis中所有数据都清空将特征库中的前端展示信息存入redis**
配置crontab命令命令行输入crontab -e然后将下面命令的输入到crontab命令行中
> 0 0 * * * $HOME/fun-rec/codes/news_recsys/news_rec_server/scheduler/crawl_news.sh >> $HOME/fun-rec/codes/news_recsys/news_rec_server/logs/offline_material_process.log && $HOME/fun-rec/codes/news_recsys/news_rec_server/scheduler/offline_material_and_user_process.sh >> $HOME/fun-rec/codes/news_recsys/news_rec_server/logs/material_and_user_process.log && $HOME/fun-rec/codes/news_recsys/news_rec_server/scheduler/run_offline.sh >> $HOME/fun-rec/codes/news_recsys/news_rec_server/logs/offline_rec_list_to_redis.log

View File

@@ -1,6 +1,4 @@
## 基于vue2.0的商城资讯
***
- 这个项目是跟着网上的视频一步一步做的对于初学vue的同学来说挺合适的基本上vue入门的技术都涵盖了可以全面的了解整个项目是怎么运作的各个组件间的传值和交互路由还有vuex的相关知识,因为是自己学习的项目里面写了大量的注释可供参考。
## 新闻推荐系统
- 项目学习到的知识点
+ 基于vue的框架mui Mint-ui的基本使用。
+ 基于nodejs的npm包管理工具、打包工具webpack和与之相对应的插件以及babel的配置。
@@ -11,58 +9,7 @@
+ vuex的使用--购物车里商品信息的同步都是基于vuex来实现的。
## 运行
> 1. 本地安装node环境,下载项目,在项目根目录命令行输入命令`npm install`安装依赖包
> 2. 运行`npm run dev`启动项目
> 3. 访问地址`http://localhost:3000`
## 项目截图
![image](https://s2.ax1x.com/2019/08/24/msoWNT.png)
![image](https://s2.ax1x.com/2019/08/24/msTTJS.png)
![image](https://s2.ax1x.com/2019/08/24/msT5If.png)
![image](https://s2.ax1x.com/2019/08/24/msTqMj.png)
![image](https://s2.ax1x.com/2019/08/24/msToi8.png)
![image](https://s2.ax1x.com/2019/08/24/msT7Rg.png)
![image](https://s2.ax1x.com/2019/08/24/msTLss.png)
![image](https://s2.ax1x.com/2019/08/24/msTOLn.png)
![image](https://s2.ax1x.com/2019/08/24/msTjZq.png)
![image](https://s2.ax1x.com/2019/08/24/msTvd0.png)
## PS
感谢黑马老师提供的接口`http://www.liulongbin.top:3005`确实讲的挺好目前还一直提供使用大家需要这个视频的话可以去bilibili搜索vue教程-黑马。
"d11c2736-0a1d-46e8-8c22-e12909723f81"
/recsys/news_detail
http://10.170.1.181:3000/recsys/news_detail?news_id=d11c2736-0a1d-46e8-8c22-e12909723f81
http://10.170.1.181:8686/#/NewsLists
## 注册时候的信息
1. user_name
2. pass_wd
3. nick_name
4. age
5. gender
6. city
http://10.170.1.181:3000/recsys/register
https://github.com/JerryYuanJ/a-vue-app-template
http://elemefe.github.io/mint-ui/#/button
1. 本地安装node环境 建议使用项目中给出的node版本安装 ,在项目根目录命令行输入命令`npm install`安装依赖包
2. 跳转到前端项目文件目录cd $HOME/fun-rec/codes/news_recsys/news_rec_web/Vue-newsinfo
3. 启动前端服务npm run dev
4. 访问地址`http://localhost:3000`