我搜索了几个帖子,但大多数都已锁定或与我的问题不太相关。
我在我们的论坛上使用搜索功能查找动漫标题。我通常会先进行全站搜索,然后在“综合新闻”主题中进行“在此主题中搜索”。
虽然并非每次都会发生,但最近它无法切换到该主题。在下方的示例中,我实际上位于“综合动漫新闻”主题中,并点击了“在此主题中搜索”,但它没有搜索该主题,而是搜索了整个论坛。
我尝试过刷新页面,甚至退出并重新登录。
这是否意味着没有结果?另外,虽然这是另一回事,但我还注意到,当没有结果时,搜索框不再显示“无结果”,而是保持空白。
我搜索了几个帖子,但大多数都已锁定或与我的问题不太相关。
我在我们的论坛上使用搜索功能查找动漫标题。我通常会先进行全站搜索,然后在“综合新闻”主题中进行“在此主题中搜索”。
虽然并非每次都会发生,但最近它无法切换到该主题。在下方的示例中,我实际上位于“综合动漫新闻”主题中,并点击了“在此主题中搜索”,但它没有搜索该主题,而是搜索了整个论坛。
我尝试过刷新页面,甚至退出并重新登录。
这是否意味着没有结果?另外,虽然这是另一回事,但我还注意到,当没有结果时,搜索框不再显示“无结果”,而是保持空白。
我在 Discourse Meta 论坛上发现的类似情况与您在自己的网站上遇到的问题一致。“搜索此主题”复选框的行为似乎不一致。有时切换复选框可以生效,但有时切换后仅显示全站范围内的搜索结果。我尚未发现导致此问题的规律。
Meta 论坛上也缺少“无结果”的文本提示。
我可以复现一个相关的稳定 bug。
关于这个主题:输入“happen”……你会找到一些内容。继续输入“ frog”……结果没有变化。
快速输入“happen frog”:
当然,现在“frog”这个词已经被索引了,只需替换成另一个不存在的词即可。
@dan 这个回归问题是否是我们最近进行的新搜索重构导致的?
我觉得应该是的。我之前重构时,曾修复过一个非常类似的 bug(当时有一个未被等待的 Promise)。我会查一下。
这是一个很好的发现。我们在那个区域还遇到了另一个 bug:一个函数被调用,但其返回值被丢弃了。这是一个错误,我后来让它使用了返回结果,但结果发现该函数本身存在缺陷,无法处理空结果。该问题最初是在以下提交中引入的:
随后在以下提交中被调整:
我已在以下拉取请求中修复了该问题,审核通过后将可供更新:
在 Meta 上没看到。
![]()