有谁知道bangumi的热度排序是什么算法吗

有解答 其它bangumi
浏览数 - 378发布于 - 2026-01-16 - 11:18

重新编辑于 - 2026-01-16 - 23:24

ringyuki
ringyuki
在 #1 发布了最佳答案

小白最近在搞一项玩意,好奇像bangumi这种是如何根据评分、评分人数等计算热度排行的,还能保证后出的作品不会吃亏

可惜我还是太小白了没搞懂🙁

本文版权遵循 CC BY-NC 协议 本站版权政策

3 条回复

最佳答案
ringyuki
发布于 2026-01-16 - 23:56 (编辑于 2026-01-17 - 00:01)

你可以看看bangumi现在的两个后端仓库

https://github.com/bangumi/server

https://github.com/bangumi/server-private

不过都只有"热度"的计算逻辑,排名则是根据chii_subject_fields表里面的field_rank来判断,field_rank具体怎么算,这两个仓库都没有提及,应该是设计在bangumi最初的不开源后端中的

ref: 
https://github.com/bangumi/server-private/blob/master/lib/trending/subject.ts
https://github.com/bangumi/server/blob/master/internal/search/subject/doc.go

胡图图
发布于 2026-01-17 - 09:11
回复 @ringyuki#1

你可以看看bangumi现在的两个后端仓库 <https://github.com/bangumi/server> <https://github.com/bangumi/server-private> 不过都只有"热度"的计算逻辑,排名则是根据chiisubjectfields表里面的fieldr...

感谢\

胡图图
发布于 2026-01-17 - 09:29
Go
func heat(s *model.Subject) uint32 {
    return s.OnHold + s.Doing + s.Dropped + s.Wish + s.Collect
}
//没想到如此直接//

(。>︿<。) 已经一滴回复都不剩了哦~