所以这更具理论性,因为我在这里有点计划,但我有一个通用的Parse User类,我试图暗示一种搜索功能,这样一个用户就可以搜索他的朋友用户。
我的初步计划是使用Parse Query contains方法查找名称中包含“xxx”字符的所有用户。但是..我注意到解析说这对于一个大型数据库来说会很慢..理想情况下,我对该应用程序的希望是拥有数千名用户。我知道这听起来有点野心,但这就是我的想法。
解析不是正确的平台吗?
我曾考虑下载所有用户对象,然后使用本地代码快速过滤它们,但肯定不会更快。
很想听听你们的想法!
答案 0 :(得分:0)
你的想法可行,但可能会很慢。你可以做一些事情来使它更快一些,但是服务器总是包含缓慢的。如果你可以改为'开头'而不是包含更快的包含。完全匹配应该再快一点。
如果您限制搜索结果会有所帮助。因此,在用户键入时,在键入3个字符之前不要向服务器发出任何请求,并将查询限制设置为5个结果。理想情况下还要添加一个计时器,这样如果用户在1秒内键入第四个字符,则不会发出请求。如果发出请求并且输入了另一个字符,则在创建新请求之前取消当前请求。
随着输入更多字符,您可以扩展限制以获得更多结果。
绝对不要下载所有内容并在本地搜索。您的用户也应该只能真正访问云代码,因为它可以使用主密钥(您的用户应该拥有一个拒绝访问其他用户的ACL)。