La recherche d'utilisateurs retourne un maximum de 20 utilisateurs

Lorsque vous recherchez des utilisateurs par valeurs de champ personnalisé de l’utilisateur recherchable, un maximum de 20 résultats est toujours retourné, même si je sais par des requêtes dans la console Rails qu’il y en a environ 200.

Je pensais que cela pourrait être lié au paramètre du site « caché » DISCOURSE_RATE_LIMIT_SEARCH_USER (How to edit "hidden" site_settings?) que j’ai modifié à 50, mais bien que cette variable d’environnement ait été reconnue et contenue dans le dernier bloc de la sortie de ./launcher rebuild app, il n’y a aucun changement. Je suppose que ce paramètre concerne davantage la limitation du taux que le nombre de résultats de recherche retournés (bien que, en recherchant sur Meta et dans le code source de Discourse, je n’ai trouvé aucune documentation sur ce paramètre).

Cette limite de 20 est-elle une limite interne de Discourse ? Existe-t-il un moyen de la modifier ?

6 « J'aime »

Je peux reproduire cela avec le nom d’utilisateur. Par exemple, Discourse Meta ne renvoie que 20 utilisateurs. Mais je m’attends à ce que plus d’utilisateurs sur Meta commencent par « M ».

4 « J'aime »

Merci @Moin pour la reproduction.

Y a-t-il quelque chose que je puisse faire concernant cette limitation de 20 utilisateurs dans la recherche ? L’équipe du forum qui a soulevé ce problème souhaite pouvoir utiliser la recherche pour trouver d’autres personnes ayant des intérêts de recherche similaires. Actuellement, la limitation apparemment arbitraire rend la recherche peu utile à cette fin.

Cette limite de 20 doit bien se trouver quelque part, n’est-ce pas ?

1 « J'aime »

Une mise à jour concernant ce bug de la part de l’équipe Discourse ? Ce serait formidable de savoir s’il sera corrigé, il a été reproduit ici sur Meta.

Et quelqu’un sait à quoi sert le paramètre de site caché DISCOURSE_RATE_LIMIT_SEARCH_USER ? Il n’est (à ma connaissance) documenté nulle part, mais semble potentiellement pertinent pour ce problème.

1 « J'aime »

C’est plus une demande de fonctionnalité qu’un bug. Vous souhaitez que nous implémentions la pagination ici.
La limite de débit n’est pas liée au nombre de résultats, elle sert à éviter que les gens spamment le point de terminaison de recherche.

2 « J'aime »

Donc, si vous recherchez un terme et que 200 utilisateurs correspondent, cela ne vous montrera que les 20 premiers et il n’y a aucun moyen de voir les autres. C’est au mieux une fonctionnalité incomplète. Cela ne semble tout simplement pas correspondre à la façon dont les autres fonctionnalités de Discourse fonctionnent.

De plus, comme il n’est pas documenté qu’il y ait cette limite stricte à 20, sans raison claire, alors oui, cela semblerait plus un bug ou un oubli qu’autre chose. Je ne peux pas imaginer quelqu’un implémenter une fonctionnalité de recherche et décider consciemment d’inclure une limite arbitraire et complètement fixe au nombre de résultats que l’on peut obtenir.

Oui, j’ai compris que la limite de débit était différente du nombre de résultats, mais c’était le seul paramètre que j’ai pu trouver qui semblait avoir une quelconque pertinence.

1 « J'aime »

Ce n’est pourtant pas très difficile à imaginer. L’implémentation de la pagination, tant côté backend que côté frontend, représente une quantité de travail considérable. Si cette fonctionnalité n’a jamais été demandée, d’autres choses sont alors priorisées. Beaucoup de choses prises individuellement sont faciles, mais quand on a des milliers de choses à faire ; il faut faire des choix.

2 « J'aime »

Nous prévoyons d’améliorer la recherche générale et la recherche dans l’annuaire afin de renvoyer tous les résultats au lieu de se limiter aux 20 premiers résultats — cependant, à ce stade, je ne sais pas quand nous terminerons ce travail, je vais donc laisser ce sujet ouvert pour voir s’il s’agit d’un problème plus largement ressenti que nous devons prioriser plus urgemment.

3 « J'aime »