# 管理员如何找到被审查的帖子？/ 是否有用户被审查词汇的计数？

**URL:** <https://meta.discourse.org/t/how-do-admins-find-censored-posts-is-there-a-count-of-censored-words-per-user/258172>\
**Category:** Support\
**Tags:** watched-words\
**Created:** [2023年三月15日 02:28 UTC](https://meta.discourse.org/t/how-do-admins-find-censored-posts-is-there-a-count-of-censored-words-per-user/258172 "2023-03-15T02:28:07Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![rachel-statsnz](https://avatars.discourse-cdn.com/v4/letter/r/8edcca/32.png) [@rachel-statsnz](https://meta.discourse.org/u/rachel-statsnz)\
**Post date:** [2023年三月15日 02:28 UTC](https://meta.discourse.org/t/how-do-admins-find-censored-posts-is-there-a-count-of-censored-words-per-user/258172/1 "2023-03-15T02:28:07Z")

</div>

我正试图让我的社区进行自我监管，因此将大多数脏话/敏感信息（正则表达式短语）放入了审查过的监视词中。

但是，我注意到，它不会在帖子被审查时通知管理员。理想情况下，我们希望统计用户使用不良词语/短语的次数，以便在用户发布不当内容过多时将其静音。

Discourse 是否会计算每个用户的被审查帖子/管理员如何才能收到被审查帖子的通知？

@Nesha

---

<div class="post-metadata">

**Author:** ![Nesha](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nesha/32/268340_2.png) [@Nesha](https://meta.discourse.org/u/Nesha)\
**Post date:** [2023年三月15日 03:11 UTC](https://meta.discourse.org/t/how-do-admins-find-censored-posts-is-there-a-count-of-censored-words-per-user/258172/2 "2023-03-15T03:11:45Z")

</div>

或者从另一个角度来看， **是否可以使用高级搜索过滤器来列出被审查或标记的帖子** ？

是的，我们先进行了搜索：

> [@How to search/filter untagged topics](https://meta.discourse.org/t/how-to-search-filter-untagged-topics/119641):
>
> I’m looking to use the search API to find all tags that match a string but have no tags. Is this possible? My hope is that this would work similar to in:solved ([How to search and filter solved/unsolved topics?](https://meta.discourse.org/t/how-to-search-and-filter-solved-unsolved-topics/34538)). More generally, is there a list of all such search terms? (Happy to look at code if someone could provide a pointer.) Alternatively, I could use a filter more like [Filter topics by tag in common with "top", "read", "bookmarks" and "posted" filters](https://meta.discourse.org/t/filter-topics-by-tag-in-common-with-top-read-bookmarks-and-posted-filters/48671) but it’s unclear how that works togeth…

我们整理了自己的列表，列出了（大致）可行的内容：

## 更多关于列出帖子的技巧

列出所有 **已存档** 的帖子：  
[https://datalabcommonstrial.discourse.group/latest?status=archived](https://datalabcommonstrial.discourse.group/latest?status=archived)

列出所有 **已关闭** 的帖子：  
[https://datalabcommonstrial.discourse.group/latest?status=closed](https://datalabcommonstrial.discourse.group/latest?status=closed)

列出所有 **已删除** 的帖子：  
[https://datalabcommonstrial.discourse.group/latest?status=deleted](https://datalabcommonstrial.discourse.group/latest?status=deleted)

列出所有 **已推送** 的帖子：  
[https://datalabcommonstrial.discourse.group/latest?status=bumped](https://datalabcommonstrial.discourse.group/latest?status=bumped)

列出所有 **已推迟** 的帖子：  
[https://datalabcommonstrial.discourse.group/latest?status=deferred](https://datalabcommonstrial.discourse.group/latest?status=deferred)

列出所有 **未列出** 的帖子：  
[https://datalabcommonstrial.discourse.group/latest?status=unlisted](https://datalabcommonstrial.discourse.group/latest?status=unlisted)

列出所有 **已分配** 的帖子：  
[https://datalabcommonstrial.discourse.group/latest?status=assigned](https://datalabcommonstrial.discourse.group/latest?status=assigned)

列出所有 **未回答** 的帖子：  
[https://datalabcommonstrial.discourse.group/latest?max\_posts=1](https://datalabcommonstrial.discourse.group/latest?max_posts=1)

？可见或不可见？

**更多** ：

> [@Meteor0id](#):
>
> 我想查看我们当前置顶了哪些帖子，但我找不到过滤置顶帖子的方法。同样，我也想查看已存档的帖子，看看它们是否应该被删除。

这可以在 **搜索框** 中使用：  
您可以使用 `in:pinned` 和 `status:archived` 在搜索中执行此操作。

**更多** ：

[如何搜索/过滤未标记的帖子](https://meta.discourse.org/t/how-to-search-filter-untagged-topics/119641)

advanced\_filter(/^status:open$/) do |posts|  
advanced\_filter(/^status:closed$/) do |posts|  
advanced\_filter(/^status:archived$/) do |posts|  
advanced\_filter(/^status:noreplies$/) do |posts|  
advanced\_filter(/^status:single\_user$/) do |posts|  
advanced\_filter(/^in:first|^f$/) do |posts|  
advanced\_filter(/^in:pinned$/) do |posts|  
advanced\_filter(/^in:unpinned$/) do |posts|  
advanced\_filter(/^in:(likes|bookmarks)/) do |posts, match| advanced\_filter(/^in:posted/) do |posts|  
advanced\_filter(/^in:seen$/) do |posts|  
advanced\_filter(/^in:unseen$/) do |posts|  
advanced\_filter(/^in:wiki$/) do |posts, match|  
advanced\_filter(/^posts\_count:(\d+)/) do |posts, match| advanced\_filter(/^min\_post\_count:(\d+)/) do |posts, match|  
advanced\_filter(/^badge:(_)/) do |posts, match| advanced\_filter(/^with:images/) do |posts|  
advanced\_filter(/^#([\p{L}0-9-:=]+)/) do |posts, match| advanced\_filter(/^group:(.+)/) do |posts, match|  
advanced\_filter(/^user:(.+)/) do |posts, match| advanced\_filter(/^@([a-zA-Z0-9\_-.]+)/) do |posts, match|  
advanced\_filter(/^before:()/) do |posts, match| advanced\_filter(/^after:(.\*)/) do |posts, match|  
advanced\_filter(/^tags?:([\p{L}0-9,-+]+)/) do |posts, match| advanced\_filter(/^-tags?:([\p{L}0-9,-\<em\>+]+)/) do |posts, match|  
advanced\_filter(/^filetypes?:([a-zA-Z0-9,-\_]+)$/) do |posts, match|_

---

<div class="post-metadata">

**Author:** ![rachel-statsnz](https://avatars.discourse-cdn.com/v4/letter/r/8edcca/32.png) [@rachel-statsnz](https://meta.discourse.org/u/rachel-statsnz)\
**Post date:** [2023年四月3日 03:58 UTC](https://meta.discourse.org/t/how-do-admins-find-censored-posts-is-there-a-count-of-censored-words-per-user/258172/3 "2023-04-03T03:58:26Z")

</div>

供您参考：我们构建了一个相对简单的查询，目前足以满足我们的需求：

SELECT  
id, user\_id, topic\_id, post\_number, cooked, raw  
FROM posts p  
WHERE cooked ~\* ‘.\*■’

结果如下：

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/6/8/0688a769d3914cdc57d4c9210a6914f95de52d3f.png)

我们的一位 SQL 大师正在构建一个更复杂的查询，用于查找被审查词的确切位置。它有点效果，但他一直在抱怨 raw 和 cooked 的长度不一致……这让我们更加体会到存储，尤其是管理被监视词所找到结果的难度。

---

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [2023年六月8日 09:14 UTC](https://meta.discourse.org/t/how-do-admins-find-censored-posts-is-there-a-count-of-censored-words-per-user/258172/4 "2023-06-08T09:14:27Z")

</div>

> [@rachel-statsnz](#):
>
> 我们的一位SQL大师正在构建一个更复杂的查询，用于查找被审查词的确切位置。

你最终成功优化了吗？

---

<div class="post-metadata">

**Author:** ![rachel-statsnz](https://avatars.discourse-cdn.com/v4/letter/r/8edcca/32.png) [@rachel-statsnz](https://meta.discourse.org/u/rachel-statsnz)\
**Post date:** [2023年六月8日 23:47 UTC](https://meta.discourse.org/t/how-do-admins-find-censored-posts-is-there-a-count-of-censored-words-per-user/258172/5 "2023-06-08T23:47:07Z")

</div>

不，我认为在 markdown 版本中查找审查过的词语比在实时版本中查找要麻烦得多，而且（目前对于我们的新平台来说）用眼睛扫描更容易。如果有人找到了方法，请告诉我！
