求一个文章和标签多对多的算法
现在有文章表,标签表,文章标签关系表,其中文章和标签 多对多
现在在一篇文章详情页,该文章有 a,b,c三个标签,需要按照标签匹配度提取相关文章并排序,匹配度高的排前面。
匹配度的计算方式,按照匹配标签的个数计算,拥有相同标签的个数越多,匹配度越高。
求除了穷举之外的算法,一定要考虑性能
死神的歌谣
11 years, 5 months ago
Answers
给文章的每个
标签tag
设置一个
权重weight
,然后计算每篇文章的
权重值和
,最后根据
权重降序
即得到文章
复杂度:O(n)
建议有空看看
数学之美
这本书;会有很多收获的
demo:
文章id tag 1 a,b,c 2 a,b,d 3 a,c,d 4 d,e,f 5 a,b,c
假设
a,b,c
的权重是
1,2,3
那么就有:
文章id tag 权重 1 a,b,c 6 2 a,b,d 3 3 a,c,d 4 4 d,e,f 0 5 a,b,c 6
文章1
的相关文章就是:
5,3,2,4
召唤师凯尔萨斯
answered 11 years, 5 months ago