V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
xush
V2EX  ›  PHP

能不能给个思路 大伙

  •  
  •   xush · Feb 4, 2016 · 3354 views
    This topic created in 3735 days ago, the information mentioned may be changed or developed.
    该怎么设置权重...
    用户发文章,防止用户发文章刷屏,控制在展示页面上每页最多只会出现该用户发的两篇文章...
    不限制用户发文章数目..
    6 replies    2016-02-25 17:21:35 +08:00
    sin30
        1
    sin30  
       Feb 4, 2016
    什么需求!!!不好好做垃圾内容过滤,弄个这需求!!
    直接给文章加审核状态,默认发布未审核,通过自动或者人工过滤之后再展示不行吗?

    要是沿着你的思路走,之后分页怎么办?
    lecher
        2
    lecher  
       Feb 4, 2016
    这个需求确实奇怪,比如用户刷了两天,那么第一页用户 A 只显示两篇,第二页呢?还显示用户 A 发布的文章吗。
    如果每一页同一个用户的文章都最多显示两条,那么文章列表的时间序就是乱的,可能用户连发十篇,第五页才能把用户 A 最早发布的显示出来?

    先把需求理清楚吧。
    如果非要做这个需求,只是单纯的限制显示频率,不能考虑在一条 SQL 语句里面取出来,考虑一下按用户分别取。很多社区按 tag 抽取文章的模型都可以加这样的限制。
    或者做其它 spam 策略,比如设置一个发布时间 spam 参数,发布时间扣去这个 spam 参数,比如连发 10 条,从第三条开始,十分钟内每发一条就触发 spam ,每次累加时间参数 60 分钟,之后在写入文章表的时候,发布时间减去这个 spam 时间,当他连续发布十条之后,第十篇文章的发布时间就是七小时之前。

    个人觉得做好这种内容审查策略,在文章发布的时候就确定排序比较好,否则在读取列表的时候做排序计算会浪费比较多的时间,毕竟大部分文章类型的产品业务,读取的频率还是大于写入频率很多的。
    czk1997
        3
    czk1997  
       Feb 5, 2016
    一般正常的用户不会发那么多刷屏吧……
    最简单方法让用户(或者审核)输入个数字,数字最大的两个的列出来就可以……基本上由用户决定出现那两篇……
    newkedison
        4
    newkedison  
       Feb 5, 2016
    分两种情况, 一种是优秀文章的展示, 这个需要人工审核, 不存在被刷屏的可能, 一种是随机展示, 这种情况每个用户一两篇足够了, 再加上顶, 踩, 举报三个功能, 让读者来帮助过滤垃圾信息
    movtoy
        5
    movtoy  
       Feb 6, 2016
    人工惩罚
    ershisi
        6
    ershisi  
       Feb 25, 2016
    根据用户发帖的访问量 回帖量 和发帖数进行计算。然后给每一个帖子加权重字段可行吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1183 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 97ms · UTC 23:23 · PVG 07:23 · LAX 16:23 · JFK 19:23
    ♥ Do have faith in what you're doing.