Spotlight IOS 链接到 API

Spotlight IOS linked to API

我正在为 ios 设备开发移动应用程序,但我遇到了问题!

我的应用程序包含一个搜索系统,我想在 IOS 中将我的系统暴露在聚光灯下。我找到了一些信息,但它是为了放置一些选定的项目!它不是动态的!我们的数据库包含超过 100 000 行。所以不可能把每一个数据都放在 Spotlight 搜索引擎中!

所以,我的问题是,我可以将 Spotlight 链接到我的 API 以允许我的用户直接在 Spotlight 中搜索吗?

谢谢!

不,这当然不可能。想象一下每个开发人员都想做这样的事情——用户最终会得到一个包含 10+GB 数据索引的设备,他们永远不会合理使用。 CoreSpotlight 每个应用程序的索引几乎都受限于您存储在那里的特定数据量。您可以进行一些批量索引,但无法绕过 Apple 为此功能设置的合格限制。

TL;DR:Spotlight 适用于用户很可能感兴趣的数据(基于 f.e。基于他们已经看过或者他们已观看 related/similar 内容)。它并不能取代您的应用内搜索。

虽然 Spotlight 确实可以处理相当多的条目(大约数百到数千),但最好不要尝试将 ~100.000 个条目放入其中(也因为您的应用程序将负责更新它们)时间)。

您可以考虑将 "proxy" 个条目添加到 Spotlight,例如您的 data/domain 个类别。如果您要实施住宿预订应用程序,您可以将 "Hotel"、"Hostel" 等条目(包括特定条目,如热门项目和用户选择的 favorites/current 预订)添加到 Spotlight ,以及相应的关键字。如果用户在 Spotlight 中选择其中一个,您的应用程序将打开并可以执行实际搜索。

在 iOS 10 中,有一个 dedicated API 用于继续 Spotlight 搜索。您仍然必须首先提供与用户在 Spotlight 中的搜索词相匹配的 Spotlight 条目,因此它与我上面概述的方法并没有什么不同。

当用户在 Spotlight 中输入内容时,无法在您的应用内进行搜索。