Skip to content

配置热门参数

环境变量

UnivTown Mastodon 提供以下几个环境变量,你可以通过环境变量控制热门算法的参数。以下是所有对应的环境变量及其默认值。

TRENDS_THRESHOLD=5
TRENDS_REVIEW_THRESHOLD=3
TRENDS_MAX_SCORE_COOLDOWN=2.days
TRENDS_SCORE_HALFLIFE=2.hours
TRENDS_LINKS_THRESHOLD=5
TRENDS_LINKS_REVIEW_THRESHOLD=3
TRENDS_LINKS_MAX_SCORE_COOLDOWN=2.days
TRENDS_LINKS_MAX_SCORE_HALFLIFE=8.hours
TRENDS_LINKS_DECAY_THRESHOLD=1
TRENDS_STATUSES_THRESHOLD=5
TRENDS_STATUSES_REVIEW_THRESHOLD=3
TRENDS_STATUSES_SCORE_HALFLIFE=2.hours
TRENDS_STATUSES_DECAY_THRESHOLD=0.3
TRENDS_TAGS_THRESHOLD=5
TRENDS_TAGS_REVIEW_THRESHOLD=3
TRENDS_TAGS_MAX_SCORE_COOLDOWN=2.days
TRENDS_TAGS_MAX_SCORE_HALFLIFE=4.hours
TRENDS_TAGS_DECAY_THRESHOLD=1

热门判定逻辑

此处不涉及热门判定的其它条件(如账户设置、贴文可见性等)。

  1. TRENDS_THRESHOLD 是贴文成为热门的最低互动次数(转发 + 点赞)。达到此阈值的贴文将进入后续判定。
  2. TRENDS_REVIEW_THRESHOLD 是贴文的审核阈值,若启用了热门审核,未审核的贴文互动数达到此阈值后将进入待批准列表。
  3. 互动数达到 TRENDS_THRESHOLD 后,对贴文的互动数进行类似卡方检验的计算(参见对应代码),得到贴文的热门指数。贴文互动量越多,热门指数越高。
  4. TRENDS_SCORE_HALFLIFE 是贴文的热门指数半衰期,每过 TRENDS_SCORE_HALFLIFE,贴文的热门指数权重将降低一半。
  5. TRENDS_DECAY_THRESHOLD 是贴文退出热门的指数阈值,贴文进入热门列表后,如果热门指数回到此值以下就会退出热门列表。
  6. 可以分别为话题标签、贴文、链接指定不同的参数,参见上方对应的环境变量。全局参数对所有种类的内容生效。