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

时间:2016-01-12 17:08:22

标签: javascript parse-platform backend

所以这更具理论性,因为我在这里有点计划,但我有一个通用的Parse User类,我试图暗示一种搜索功能,这样一个用户就可以搜索他的朋友用户。

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

解析不是正确的平台吗?

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

很想听听你们的想法!

1 个答案:

答案 0 :(得分:0)

你的想法可行,但可能会很慢。你可以做一些事情来使它更快一些,但是服务器总是包含缓慢的。如果你可以改为'开头'而不是包含更快的包含。完全匹配应该再快一点。

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

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

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