搜索(Spotlight)在iOS上有很长的历史了。事实上,这项功能最早出现在macOS上,后来苹果才在iOS 3上推出了相同的搜索功能。
如果按照年份来算的话,苹果的搜索功能最早亮相于2004年的WWDC大会上,并在2005年4月正式登陆macOS平台。而iOS上的搜索功能,相较于macOS晚了4年。
随着iOS版本不断更迭,搜索功能也一直在进化。近日,据外媒MacRumors报道,苹果在iOS 15中对搜索功能进行了多项改进。由于Siri数据库得到了进一步拓展,使得搜索功能变得更加智能,与以往的版本相比可以搜索到更多信息。
例如,如果你在搜索栏中输入电影或电视节目,会看到很多观看节目的方式、演员、预告片等信息。而在iOS 14中,搜索功能受到了很大限制,通常仅限于网页搜索。
又或者你可以使用搜索功能查找网络图片,只需输入关键字即可。当你点击图片时,系统会自动显示更多相关图片。
除了在搜索栏中查找网络图片外,你还可以直接搜索本体相册中特定的照片。对于那些手机上存了很多照片的小伙伴来说,照片搜索无疑是为他们提供了极大便利,可以更精准、快速地找到自己想要查看的照片。
在以往的iOS版本中,只要iPhone处于锁屏状态,手指向下滑动屏幕是无法呼出搜索功能的。但是现在用户可以直接进入搜索功能界面,只不过苹果做了一些限制,比如搜索不会显示照片、短信、联系人等个人信息,只允许搜索网络上的信息。苹果这么做的目的,可能是为了保护用户的隐私安全。
不仅如此,iOS 15改进了App Store搜索,用户只需在搜索栏中输入自己想要使用的应用,即可直接下载安装,相当于简化了进入App Store,再在App中搜索应用这一操作流程。
此外,搜索功能还加入了对App Clips的支持,用户可以在地图结果中看到操作按钮,点击即可访问菜单、票务、预订、放映时间等操作。
值得一提的是,作为儿童安全功能套件的一部分,苹果正在Siri和搜索功能中加入相关保护措施。比如,如果用户搜索儿童性虐待等信息,系统会自动提醒用户这些是错误的兴趣。
看完苹果对搜索功能的各项改进后,不禁让人想起了苹果高管在一次采访中的对话。有人提问为何iPad没有自带天气和计算器App时,苹果高级副总裁克雷格·费德里吉表示,有些事情苹果没有做,是因为他们想,如果要做,就要做到这个领域中顶尖的水平。当苹果觉得可以做到非常好的时候,他们才会去做。
现在看来,iOS 15中的搜索功能,已经验证了苹果高管克雷格的说法。
苹果Spotlight背后的操作逻辑
当然,苹果的搜索功能不是一步登天,能做到现在这么出色也是需要一个过程的,那么苹果是如何构建应用内搜索的呢?
在2015年的WWDC大会上,苹果推出了全新的iOS Search API,一度让「应用内搜索」这个话题成为热门。所谓应用内搜索,指的是能够搜索应用内的内容。与网页内容不同,应用内容通常没有URI(统一资源标志符),搜索引擎自然也就无法准确定位,而且点击搜索结果还要拉起应用加载内容。
所以,想要实现应用内搜索,需要同时满足两个条件:1.建立唯一对应的索引;2.让搜索引擎知道要拉起哪个应用。而苹果的iOS Search API刚好是一个系统性的解决应用内搜索的方案,在这套方案中,应用内容被抽象的分为:私密内容(Priviate)和公开内容(Public),与之对应的两个索引为On-Device Index(本地)和Cloud Index(云端)。
需要注意的是,只有索引才会有云端和本地之分,因为私密内容也可以上传云端,所以内容本身没有这些区分。
为了解决公开内容和私密内容的索引问题,苹果在iOS Search API中设置了三个子API。首先是NSUserActivity API,即搜索看过的内容。在iOS9中,苹果在搜索功能里引入了该API,软件开发者可以利用该API捕捉当前页面的元数据。举个例子,淘宝、京东等都调用了这个API,我们可以在Spotlight里搜索到在淘宝、京东浏览过的宝贝。
其次是CoreSpotlight API,即索引应用内所有内容。以豆瓣为例,用户可以在搜索栏中输入关键字来查找豆瓣上的电影。
最后是Web Markup,即搜索网页上的应用内容。这样一来,即便没有安装某个App,苹果的索引也能在网页上搜索特定的标记,在Sarfi或Spotlight上显示搜索结果。比如用户要在携程订酒店,但手机上未安装携程App,这时Spotlight搜索结果则会以网页的形式显示。
而iOS 15中的Spotlight,苹果可能在iOS Search API加入了新的索引,以此来丰富应用内搜索功能。关于应用内搜索,苹果给出了自己的方案。作为竞争对手的谷歌,自然也有类似于Spotlight的应用内搜索功能。
应用内搜索功能,安卓也有
与苹果不同,谷歌的思路很简单,就是增强谷歌搜索的能力,让它不仅限于搜索网页内容,还能搜索应用内的内容,甚至是搜索到用户在手机本地存储的内容。
为了实现应用内搜索,谷歌推出了Firebase App Indexing方案。App Indexing可以将开发者开发的应用纳入谷歌搜索,如果用户安装了某个App,点击搜索结果可以直接打开该App;如果没有安装,开发者可以通过App Indexing来设置接下来的搜索结果,包括:对应的Web页面,打开应用商店以及出现小卡片介绍应用,然后再转入应用商店。
谷歌的Firebase App Indexing与苹果的ios Search API有一个共同点,那就是都能索引网页数据、应用页面和个人数据。而两者之间的不同点在于,谷歌的Firebase App Indexing是可以跨平台的,在iOS和Android都有完整的解决方案,开发者只需适配一次,并且应用所获得的流量主要依赖于搜索结果中的排位。
虽然谷歌的应用内搜索方案与苹果的有些类似,但从开发者文档来看,苹果的iOS Search API会显得更加完备和成熟。如果非要开发者在两者之间选其一的话,谷歌的方案会更有吸引力,因为谷歌搜索的流量是现成的。
不过,现在看来,对比谷歌的应用内搜索,苹果的Spotlight可以说是要更胜一筹,能够将搜索结果进一步细化,让用户可以更快速地找到自己想要看到的内容。
第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:zhangwenwen
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。