为什么 iOS Twitter 应用搜索引擎可以离线工作?

问题描述 投票:0回答:1

我正在构建一个与 Twitter 相关的 iOS 应用程序,我需要知道用户搜索引擎是如何工作的。更具体地说,我想让我的应用程序显示以某个字符串开头的用户名。就像您在发推文时开始输入

@Jo
一样,下面会出现按相关性排序的
@JohnSmith, @JoshBennett, etc.

为了弄清楚这个功能是如何工作的,我认为 Twitter 可能已经下载了我所有的关注者和关注列表,以便他们可以在本地访问它。但我发现在我的搜索结果中出现了我实际上并未关注的人,但我的一些关注者关注了他们。那么,Twitter 是否已经下载了我所有的关注者以及我所有关注者的关注者?

无论如何,我想要的应用程序只是查找我关注的用户,但了解我应该如何下载这些用户信息很重要。考虑到这些请求有每日限制,该应用程序会对拥有数百万关注者的用户做什么?

我希望你们中的一些人遇到过这个问题并可以给我一些建议。

ios twitter offline
1个回答
0
投票

很好的问题,首先让我们从 CRUD 的共同点开始:

在 CRUD 中,我们将应用程序的方法布置如下:

  • 创建
  • 阅读
  • 更新
  • 删除

第二种方法“Read”本质上是您想要对数据库或对象存储中的 User 表执行的操作。

在您的阅读功能中而不是搜索

其中 user.twitterId == 'mySearch'

而是做

其中 user.twitterId LIKE '%mySearch%'

第一个会限制你的用户准确地知道 ID,而第二个则有回旋余地,但可能会很慢;因此通过调整开始您的优化之旅

  1. 查询(查询优化)
  2. 存储结果的位置(缓存/分片)
  3. 什么时候运行查询(运行时优化)

为了回答你的问题,是的,Twitter 可能会在应用程序启动时或在你使用它时缓慢地查询你和/或你朋友的关注者列表,这是他们在运行时优化中的解决方案。

也许在您的应用程序中,检索到的每个帖子都会附带其前 5 位贡献者,这些贡献者将添加到相关 ID 中进行搜索。

© www.soinside.com 2019 - 2024. All rights reserved.