当按可搜索用户自定义字段值搜索用户时,最多只能返回 20 个结果,尽管我知道从 Rails 控制台查询来看大约有 200 个。
我曾认为这可能与“隐藏”站点设置 DISCOURSE_RATE_LIMIT_SEARCH_USER(https://meta.discourse.org/t/how-to-edit-hidden-site-settings/194640)有关,我已经将其修改为 50,但尽管此环境变量确实得到了识别并且包含在 ./launcher rebuild app 输出的最终块中,但没有任何改变。我猜测此设置更多地与速率限制有关,而不是返回搜索结果的数量(尽管我在搜索 Meta 和 Discourse 源代码时找不到有关此设置的任何文档)。
这个 20 的限制是 Discourse 的内部限制吗?有办法改变它吗?
6 个赞
Moin
2
我可以重现这个问题,通过用户名。例如,https://meta.discourse.org/u?name=M 只返回 20 个用户。但我期望 Meta 上有更多以“M”开头的用户。
4 个赞
感谢 @Moin 提供复现。
关于搜索中的 20 用户限制,我有什么办法可以解决吗?提出此问题的论坛团队希望能够使用搜索来查找具有相似研究兴趣的其他人员。目前,这个看似任意的限制使得搜索对于此目的来说作用不大。
这个 20 的限制肯定是在某个地方设置的吧?
1 个赞
Discourse 团队对这个 bug 有什么更新吗?很高兴知道它是否会被修复,因为它在这里的 Meta 上被复现了。
有人知道 DISCOURSE_RATE_LIMIT_SEARCH_USER 这个隐藏的站点设置 是做什么的吗?(据我所知)它没有任何文档记录,但似乎可能与此问题有关。
1 个赞
j.jaffeux
(Joffrey Jaffeux)
5
这更像是一个功能请求,而不是一个 bug。您希望我们在此处实现分页。
速率限制与结果数量无关,而是为了防止人们滥用搜索端点。
2 个赞
所以,如果您搜索一个词,有 200 个用户匹配,它只会显示前 20 个,而您无法看到其他用户。这充其量是一个不完整的功能。它似乎与 Discourse 中其他功能的运行方式不符。
另外,由于没有记录显示存在 20 个结果的硬性限制,并且没有明确的原因,那么是的,这似乎更像是一个 bug 或疏忽,而不是其他任何东西。我无法想象有人实现任何搜索功能并有意识地决定包含一个任意且完全固定的结果数量限制。
是的,我认为速率限制与结果数量不同,但这是我能找到的唯一似乎可能相关的设置。
1 个赞
j.jaffeux
(Joffrey Jaffeux)
8
但其实不难想象。在后端和前端实现分页是一项艰巨的工作。如果从未有人请求过提供此功能,那么其他事情就会被优先处理。许多事情单独来看很容易,但当你有成千上万件事情要做时;你必须做出选择。
2 个赞
lindsey
(Lindsey Fogle)
16
我们计划改进通用搜索和目录搜索,以返回所有结果,而不是仅限于前 20 个结果——但是,目前我不知道何时能完成这项工作,因此我将保持此主题开放,以查看这是否是一个更普遍存在的痛点,我们需要更紧急地优先处理。
3 个赞