Al buscar usuarios por valores de campos personalizados de usuario buscables, solo se devuelven un máximo de 20 resultados, aunque sé por las consultas de la consola de Rails que hay alrededor de 200.
Pensé que esto podría estar relacionado con la configuración del sitio ‘oculta’DISCOURSE_RATE_LIMIT_SEARCH_USER, que he modificado a 50, pero aunque esta variable de entorno fue reconocida y estaba contenida en el bloque final de la salida de ./launcher rebuild app, no hay ningún cambio. Supongo que esta configuración tiene más que ver con la limitación de velocidad que con el número de resultados de búsqueda devueltos (aunque buscando en Meta y en el código fuente de Discourse, no pude encontrar ninguna documentación de esta configuración).
¿Es este límite de 20 un límite interno de Discourse? ¿Hay alguna forma de cambiarlo?
Puedo reproducir eso con el nombre de usuario. Por ejemplo, https://meta.discourse.org/u?name=M devuelve solo 20 usuarios. Pero espero que más usuarios en Meta comiencen con “M”.
¿Hay algo que pueda hacer con esta limitación de 20 usuarios en la búsqueda? El equipo del foro que planteó este problema quiere poder usar la búsqueda para encontrar a otras personas con intereses de investigación similares. En este momento, la limitación aparentemente arbitraria impide que la búsqueda sea de gran utilidad para esto.
Este límite de 20 tiene que ser una configuración en alguna parte, ¿verdad?
Es más una solicitud de características que un error. Quieren que implementemos paginación aquí.
El límite de tasa no está relacionado con el número de resultados, sino para evitar que la gente abuse del punto de acceso de búsqueda.
Entonces, si buscas un término y 200 usuarios coinciden, solo te mostrará los primeros 20 y no hay forma de ver los demás. Eso es, en el mejor de los casos, una característica incompleta. Simplemente no parece coincidir con la forma en que funcionan otras características en Discourse.
Además, como no está documentado que haya este límite estricto de 20, sin una razón clara, entonces sí, parecería más un error o una omisión que cualquier otra cosa. No puedo imaginar a alguien implementando una función de búsqueda y decidiendo conscientemente incluir un límite arbitrario y completamente fijo en la cantidad de resultados que se pueden obtener.
Sí, supuse que el límite de velocidad era diferente al número de resultados, pero era la única configuración que pude encontrar en cualquier lugar que pareciera tener alguna relevancia.
Aunque no es muy difícil imaginarlo. Implementar la paginación tanto en el backend como en el frontend es una cantidad de trabajo considerable. Si nunca se ha solicitado proporcionar esta función, entonces se da prioridad a otras cosas. Muchas cosas, por sí solas, son fáciles, pero cuando tienes miles de cosas que hacer; tienes que tomar decisiones.
Planeamos mejorar tanto la búsqueda general como la búsqueda en el directorio para que devuelvan todos los resultados en lugar de limitarse a los primeros 20. Sin embargo, en este momento no sé cuándo completaremos este trabajo, así que dejaré este tema abierto para ver si se trata de un problema más generalizado que necesitamos priorizar con mayor urgencia.