mysql - PHP实现标签匹配数据并将数据按标签匹配的权重排序
PHP中文网
PHP中文网 2017-04-11 10:06:13
[PHP讨论组]

业务需求如下:
一个用户要填写三个分类,每个分类下最多选择5个标签,如下:
用户A选择的标签情况:
金额:200万-300万、300万-500万、500万-1000万 (最多5个)
轮次:天使轮、A轮、B轮、D轮 (最多5个)
行业:金融、互联网、医疗、科技 (最多5个)

现有上万条项目的数据,每条数据都有自己的标签,如下:
项目1所属标签:
金额:200万-300万 (单选)
轮次:天使轮 (单选)
行业:互联网、科技、物流(最多5个)

项目2所属标签:
金额:1000万-1500万(单选)
轮次:C轮 (单选)
行业:科技、互联网(最多5个)

····(上万条数据)

标签权重:
金额:

id name score
1 100万-200万 0.6
2 200万-300万 0.8
3 300万-500万 0.5
4 500万-1000万 0.3
5 1000万-1500万 0.7
6 1500万-2000万 0.6
7 2000万-5000万 0.2

轮次:

id name score
1 种子轮 0.4
2 天使轮 0.7
3 A轮 0.8
4 pre-A轮 0.1
5 B轮 0.5
6 C轮 0.2
7 D轮 0.2

行业:

id name score
1 互联网 0.9
2 医药 0.4
3 科技 0.6
4 物联网 0.6
5 物流 0.7
6 制造 0.3
7 餐饮 0.5

现在需要根据用户A的标签来给他匹配对应的项目(只要项目中含有A选择的所有分类标签中的某一个标签就算匹配),并将匹配到的项目按照标签匹配的权重由高到底来排序

比如项目1和A匹配的权重为:
0.8(200万-300万)+0.7(天使轮)+0.9(互联网)+0.6(科技)=3

如何实现这样的需求(项目是基于laravel框架)??

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号