ユーザー検索で最大20ユーザーまで

検索可能なユーザーカスタムフィールドの値でユーザーを検索すると、Railsコンソールクエリから約200件あることがわかっているにもかかわらず、常に最大20件の結果しか返されません。

これは、'非表示’サイト設定 DISCOURSE_RATE_LIMIT_SEARCH_USER に関連しているのではないかと思いましたが、これを50に変更しても、この環境変数は認識され、./launcher rebuild app の出力から最終ブロックに含まれていましたが、変更はありませんでした。この設定は、返される検索結果の よりも、レート の制限に関連していると推測しています(ただし、MetaとDiscourseのソースを検索しても、この設定に関するドキュメントは見つかりませんでした)。

この20件の制限はDiscourseの内部的な制限ですか?変更する方法はありますか?

「いいね!」 6

ユーザー名で再現できます。たとえば、Discourse Meta はユーザーを 20 人しか返しません。しかし、Meta では「M」で始まるユーザーはもっといるはずです。

「いいね!」 4

Reproをありがとう、@Moinさん

この検索における20ユーザー制限について、何かできることはありますか?この問題を提起したフォーラムチームは、同様の研究関心を持つ他の人々を見つけるために検索を使用できるようにしたいと考えています。現在、この恣意的な制限により、検索はほとんど役に立っていません。

この20という制限は、どこかの設定になっているはずですよね?

「いいね!」 1

Discourseチームからこのバグに関するアップデートはありますか?Metaでも再現されているので、修正されるかどうかを知ることができれば幸いです。

また、「非表示のサイト設定 DISCOURSE_RATE_LIMIT_SEARCH_USERが何をするのか知っている人はいますか?(私の知る限り)どこにも文書化されていませんが、この問題に関連している可能性があります。

「いいね!」 1

これはバグというより機能リクエストです。ここでページネーションを実装してほしいということですね。
レート制限は結果の数とは関係なく、ユーザーが検索エンドポイントをスパム行為するのを防ぐためのものです。

「いいね!」 2

そのため、用語を検索して200人のユーザーが一致した場合、最初の20人しか表示されず、他のユーザーを見る方法がないということになります。それは、良くても不完全な機能です。Discourseの他の機能の動作方法と一致していないように思えます。

また、明確な理由もなく20件でハードストップするということが文書化されていないため、他の何よりもバグまたは見落としのように思えます。検索機能で、取得できる結果の数に任意かつ完全に固定された制限を意図的に含めることを決定する人がいるとは想像できません。

はい、レート制限は結果の数とは異なると考えましたが、関連性がありそうな設定はそれしか見つかりませんでした。

「いいね!」 1

しかし、想像するのはそれほど難しくありません。バックエンドとフロントエンドの両方でページネーションを実装するには、かなりの作業が必要です。この機能の提供がこれまでリクエストされたことがない場合、他のことが優先されます。多くのことは単独では簡単ですが、何千ものことを行う必要がある場合は、選択をする必要があります。

「いいね!」 2

一般的な検索とディレクトリ検索の両方を改善し、最初の20件の結果に限定するのではなく、すべて結果を返すようにする予定です。ただし、現時点ではいつ完了するか不明なため、このトピックは、より広く経験されている問題点であり、より緊急に優先順位を付ける必要があるかどうかを確認するために開いたままにしておきます。

「いいね!」 3