结合多个高级搜索过滤器

您好,在我的大型导入论坛中,能够组合多个搜索过滤器将对用户非常有帮助,以帮助用户发现他们在旧论坛上参与过的旧帖子的活动,例如 in:posted in:unseenin:watching in:tracking

另外,“in:posted”查询有助于生成用户创建和/或发帖的所有主题的列表,但“排序方式:最新帖子”的行为并不像我预期的那样。它会按用户发布的最新帖子对结果进行排序。虽然这可能也有用,但通常更有用的是按任何发帖用户的最新活动进行排序,基本上重现一种个人“/latest”主题列表,按最新帖子排序,但仅包含用户参与过的主题。

4 个赞

这(某种程度上)已经奏效了。
如果您在搜索框中输入:
status:noreplies after:2023-01-01

您将获得自 23 年 1 月 1 日以来所有未回复的主题。

我也尝试了高级搜索界面,如果您选择 2-3 个搜索条件,它们将按顺序添加到搜索框中。

至于所有高级搜索过滤器的列表,我正在自己整理完整的列表……等它变多的时候可能会在这里发布。

嗯,只有复选框可以一起选择。此菜单中的选项是互斥的:

这是正确的,但是当你构建一个复杂的搜索查询时,你需要将不同的搜索条件组合在一起:
哪个类别 AND 什么状态 AND 从哪个日期开始等等

高级搜索 UI 上的一些下拉框允许你选择多个值(例如类别),但对于其他下拉框,正如你所注意到的,这些值是互斥的,所以只能选择一个是有意义的:

您好,您找到了解决方案吗?我正在尝试创建一个未解决主题的搜索链接,但仅限于仍处于开放状态的主题(我们会在发帖后 60 天自动关闭)。

我认为您可以在主题列表中使用查询字符串来实现此目的。例如:https://meta.discourse.org/latest?solved=no&status=open

有关查询字符串的更多信息 - Using query strings to filter topic views

2 个赞

我认为它有效。但你必须自己输入一个过滤器,因为你只能在下拉列表中选择一个。
https://meta.discourse.org/search?q=status%3Aunsolved%20status%3Aopen
不过,如果你不想添加搜索词,查询字符串是更好的解决方案。

1 个赞

谢谢 @JammyDodger@Moin,问题解决了 :slight_smile:

2 个赞