我正在构建一个与 Twitter 相关的 iOS 应用程序,我需要知道用户搜索引擎是如何工作的。更具体地说,我想让我的应用程序显示以某个字符串开头的用户名。就像您在发推文时开始输入
@Jo
一样,下面会出现按相关性排序的 @JohnSmith, @JoshBennett, etc.
。
为了弄清楚这个功能是如何工作的,我认为 Twitter 可能已经下载了我所有的关注者和关注列表,以便他们可以在本地访问它。但我发现在我的搜索结果中出现了我实际上并未关注的人,但我的一些关注者关注了他们。那么,Twitter 是否已经下载了我所有的关注者以及我所有关注者的关注者?
无论如何,我想要的应用程序只是查找我关注的用户,但了解我应该如何下载这些用户信息很重要。考虑到这些请求有每日限制,该应用程序会对拥有数百万关注者的用户做什么?
我希望你们中的一些人遇到过这个问题并可以给我一些建议。
很好的问题,首先让我们从 CRUD 的共同点开始:
在 CRUD 中,我们将应用程序的方法布置如下:
第二种方法“Read”本质上是您想要对数据库或对象存储中的 User 表执行的操作。
在您的阅读功能中而不是搜索
其中 user.twitterId == 'mySearch'
而是做
其中 user.twitterId LIKE '%mySearch%'
第一个会限制你的用户准确地知道 ID,而第二个则有回旋余地,但可能会很慢;因此通过调整开始您的优化之旅
为了回答你的问题,是的,Twitter 可能会在应用程序启动时或在你使用它时缓慢地查询你和/或你朋友的关注者列表,这是他们在运行时优化中的解决方案。
也许在您的应用程序中,检索到的每个帖子都会附带其前 5 位贡献者,这些贡献者将添加到相关 ID 中进行搜索。