搜索用户的好方法?我有想法但不确定

Good way of searching users? I have an idea but am unsure

所以这一切都更理论化,因为我在这里有点提前计划,但我有一个通用的 Parse 用户 class,我试图实现一种搜索功能,以便一个用户可以搜索他的朋友用户.

我最初的计划是使用 Parse Query contains 方法查找名称中包含 'xxx' 个字符的所有用户。但是..我注意到解析指出这对于大型数据库来说会很慢..理想情况下我希望该应用程序拥有成千上万的用户。我知道这听起来有点雄心勃勃,但这就是我的想法。

parse 不适合这个平台吗?

我曾考虑过下载所有用户对象,然后使用本地代码快速过滤它们,但这肯定不会更快。

很想听听你们的想法!

您的想法可能可行,但可能会很慢。您可以做一些事情让它更快一些,但是包含对于服务器来说总是很慢。如果您可以更改为 'begins with' 而不是 contains 会更快。精确匹配应该再次更快。

如果您限制搜索结果会有帮助。因此,当用户键入时,在键入 3 个字符之前不要向服务器发出任何请求,并将查询限制设置为 5 个结果。理想情况下还添加一个计时器,这样如果用户在 1 秒内键入第四个字符,则不会发出请求。如果发出请求并键入另一个字符,请在发出新请求之前取消当前请求。

随着输入的字符越来越多,您可以扩大限制以获得更多结果。

绝对不要下载所有内容并在本地搜索。你的用户也应该只能真正访问云代码,因为它可以使用主密钥(你的用户应该有一个拒绝其他用户访问的 ACL)。