nildarar
(Nildarar)
1
据我所知,当我们删除帖子或主题时,首先会进行软删除,待设定的时间过后,删除才会彻底完成。
鉴于删除过程分多个阶段进行,我提出了以下问题。由于在搜索中未找到全面的主题,我将问题写在这里:
-
删除帖子后,站点统计数据是否会减少?
例如:点赞数或帖子数量。
-
用户拥有的已删除帖子和主题的数量是否会被记录在某个地方?或者这些数字在删除后以及过一段时间后是否会发生变化?
我们想为那些最常申请删除自己主题的用户颁发徽章。例如,每当用户每月有 10 个主题被移除时,就授予其一枚徽章。
-
主题被移除后,其中的所有消息是否都会被删除?其他用户在其个人资料活动中会如何看到这些内容?(在软删除期间及之后)
-
如果因为用户在某个主题中的活动而授予其徽章,当该主题被删除后,该徽章会发生什么变化?其他回复过该主题的用户所获得的徽章又会怎样?
-
删除主题和帖子会对用户的信任等级产生什么影响?(尤其是对于 TL3)
-
删除拥有大量帖子但价值较低的主题是否有助于整体性能的提升?
-
当管理员进入用户个人资料时,该用户的已删除帖子数量会显示在个人资料上方。如果帖子是因为另一个用户删除主题而被删除,这个数字会增加吗?
如果有人知道这些问题的确切答案,请在此处回复,以便我和其他后来寻找答案的人参考。此外,如果有人对删除主题或帖子的影响有疑问,也请在此提出。
为了更清晰,请分阶段回答所有问题:软删除、修订和元数据删除、以及从数据库中彻底删除

simon
2
是的,几乎所有统计数据都基于未删除的主题和帖子。一个例外是在“数据探索器”(Data Explorer)插件中运行的查询。对于这些查询,您需要明确设置 WHERE deleted_at is NULL 条件,以避免拉取已删除主题和帖子的数据。
是的,用户的已删除帖子数量会被记录。据我所知,唯一在用户界面中显示该数据的地方是当工作人员用户查看用户的摘要页面时。在这种情况下,他们会看到类似这样的内容:
不会。当主题被删除时,只有该主题的第一条帖子会被删除。除非恢复该主题,否则无法查看剩余的帖子。
大多数 Discourse 徽章会运行每日撤销查询,以检查是否应从用户处移除该徽章。如果授予该徽章的主题或帖子已被删除,该徽章将被撤销。
拥有已删除的帖子不会影响用户的信任等级。删除帖子对于保持主题的可读性非常有用。一个很好的例子是我们如何处理文档主题。如果文档主题中的任何内容不清楚,读者可以回复该主题以寻求澄清。对这些问题的回复可以整合到主题的第一条帖子中。完成后,最好删除这些回复,以防止主题变得难以阅读。
您看到的数字是实际的已删除帖子数量。由于删除主题并不会删除该主题的回复,因此这个数字不会增加。
对站点工作人员来说,另一件有用的事情是知道如何搜索已删除的主题。这可以通过在 Discourse 主题列表的 URL 中添加 ?status=deleted 查询参数来实现。
从数据库中完全删除是可能的,但不推荐这样做。除非操作正确,否则可能会导致站点统计数据出现问题。
nildarar
(Nildarar)
3
感谢您详尽的回答。
根据您的解释,如果我理解正确,主题信息除非手动删除,否则将永远不会从数据库中删除,并且始终可以恢复。但如果帖子被删除,它们将从数据库中移除,仅保留其统计信息。帖子文本在完全删除后将不再可用。
只要主题未被手动从数据库中删除,我们就可以获取用户已删除帖子和主题的统计信息,并编写我们需要的查询。
关于第 6 个问题,可以这样回答:删除大型主题对提升系统速度和性能没有影响,除非在承担风险的情况下手动将其从数据库中移除。
私信是否也会发生同样的情况?