分类的搜索优先级在搜索查询为空时是否无效?

故事背景:
我为我的论坛创建了一个名为 No Replies 的页面,其 URL 如下:
<discourse_forum>/search?q=status%3Asingle_user%20in%3Aunsolved%20status%3Aopen%20order%3Alatest_topic

该页面的作用是创建一个包含以下高级搜索参数的空搜索查询:

status:single_user in:unsolved status:open order:latest_topic

本质上,它用于查找那些尚未有人回复的未解决主题(以便我们可以优先处理这些主题)。

问题所在:
有些分类,如 News(新闻)、Announcements(公告)等,其中存在没有回复的帖子是完全正常的。但它们却出现在了上述搜索结果中。

我的尝试:
对于上述提到的分类(即 no replies 不应被视为严重问题的分类),我将这些分类的 Search Priority(搜索优先级) 设置为 Very Low(非常低),以便它们在搜索中排在最后。

但这似乎并未生效。即使我将搜索结果按 Relevance(相关性)排序,它们仍然出现在顶部。
image

只有当将这些分类的 Search Priority 设置为 Ignore(忽略)时,搜索优先级似乎才生效(即这些来自“被忽略”分类的主题会消失)。

能否有人解释一下这种优先级行为?(在空搜索查询的情况下)
另外,有没有解决方案能确保 Low Priority(低优先级)分类的主题始终排在底部?

注意:如果这不是一个 bug(错误),请随意将其移动到相关分类。

1 个赞

这是一个处于边界线上的 bug 还是特性,我支持将其清理。在这种情况下我们不应用优先级,因为它会在后续搜索时应用。你无法搜索“无”内容。

在此打上 pr-welcome 标签

3 个赞

你好,我对这个问题很感兴趣。我已在 GitHub 上创建了一个拉取请求。

该更新将按以下优先级应用分类搜索:

  1. 空查询字符串,且
  2. 未指定排序方式

拉取请求已提交:FIX: Apply category priority for empty query #9516

5 个赞

PR 已在几周前合并。

3 个赞