用了这么多次微信搜索,第一次这么深入地研究微信搜索的逻辑。不知道你有什么感悟,欢迎来和我分享你的看法。
一直以来,都觉得搜索和解谜有几分相像。解谜是通过特定的线索找到对应的谜底,而搜索是根据用户输入的关键词快速找到用户想要寻找的内容。当然,这一点是从产品实现逻辑上讲的。如果从展现层看,搜索就是在用户输入关键词后,在界面上展示(输出)相关的搜索结果。如下图所示:
那从用户输入关键词到产品界面上展示搜索结果,这中间发生了什么?让我们以微信和「用户体验」为关键词来看下搜索背后的逻辑。
(1)搜索词处理
如图所示,当用户在微信搜索框里输入「用户体验」时,微信需要对用户输入的搜索词「用户体验」进行识别、处理和分析,以确定用户可能要找什么类型的内容。
在当前场景下,处理后的结果可能有:
-
词语的含义
-
相关的书籍
-
相关的报告
-
相关的文章
-
相关的公众号
-
相关的事件
-
……
(2)获取搜索数据
根据(1)的处理结果,匹配数据库获取相应的数据。
那原始数据是从哪里来?一部分是用户自己生产(UGC)的,也有一部分是从合作平台处获取。
在当前场景下,处理后的结果可能有:
-
词语的含义 —— 用户体验的含义
-
相关的书籍 —— 《用户体验要素》
-
相关的报告 —— 暂无
-
相关的文章 —— 微信用户体验报告
-
相关的公众号 —— 艾体验
-
相关的事件 —— 暂无
-
其它 —— 微信备注:用户体验设计师
(3)搜索结果排序
产品需要按照一定的规则对(2)中的匹配数据进行排序。
在当前场景下,排序后的结果可能为:
-
微信备注:用户体验设计师
-
公众号:艾体验
-
文章:微信用户体验报告
-
含义:用户体验的含义
-
书籍:《用户体验要素》
(4)搜索数据展示
产品设计师需要根据搜索结果的类型设计对应的展示方式,而程序负责向用户根据产品设计师的设计展示对应的搜索结果。
(5)排序规则的用户
当搜索结果展示给用户之后,用户可能点击了其中几项,也可能一项都没有点击。产品经理或算法工程师需要根据用户最终的点击行为优化排序规则,调整排序算法,以使下一次的搜索结果排序更为准确。
而对于微信来说,使用微信搜索的用户有一个明显的特征:
任务型用户
,即用户目的性很强,想要找到在微信里曾经看到过的某个内容。主要有以下几个场景:
(1)用户可能了解自己想要寻找的内容出现在哪里。
(2)可能不记得内容是在朋友圈看到的还是别人分享给他的。
(3)只是想在微信里搜搜看。
接下来,我们分别从搜索前、搜索时、搜索后分别看下微信的搜索。
微信搜索的入口:微信主页面 - 内容区域的顶部,如下图:
使用路径的缩短,减少了用户的学习和使用成本,让用户用得更爽。
1、搜索方式上
搜索方式上,支持手动输入和语音输入。现在已有的搜索方式有三种:手动输入(识字)、语音输入(识音)、图片输入(识图),微信已覆盖了其中的两种,已能满足绝大部分场景。
语音输入时的文案(按住说话)与手动输入时(搜索)有明显区别。
和手动输入相比,语音输入操作简单,而且这里的交互和语音聊天的交互一样,基本没有学习成本。不过,语音输入对周围环境、语音识别的准确率(机器)、关键词搜索能力要求很高(用户自己),不清楚语音搜索的效果如何。
机器识别代替人工输入,减少人工输入成本,提高用户体验。
2、搜索类型上
从搜索页面,可以很明显地看到搜索的指向性以及搜索方式的存在。
首先,看下搜索内容的指向性,包括这六类:朋友圈、文章、公众号、小程序、音乐、表情。
从数据量上:朋友圈、文章、公众号、音乐、表情这几个都很大。
那为什么会有小程序,这个生命周期才两年的产品?做推广?凑整数?数据决定一切。根据 TalkingData 的报告显示:小程序用户规模从零增长至 4.15 亿只用了 446 天,而微信用户规模从零增长至 4 亿花了 916 天。在微信大流量的基础上,小程序用户规模的增速远超当时微信的发展。
从上图可见,微信在用户确认输入内容后,直接显示搜索结果,而百度网页版在用户确认输入内容后,会根据用户输入的内容展示搜索结果联想,需要用户点击「搜索」才会出现对应的搜索结果。从使用路径上看,微信比百度网页版少了一步。
使用路径的缩短,提高了用户使用效率。
细节一:最常使用 和 联系人
为什么文案是「最常使用」,不是「最常联系」?猜测和算法有关,使用「最常联系」可能会导致误解。猜测「最常使用」的算法和最近联系时间、每次联系时发的消息次数、联系频率相关。
用技术提高搜索结果的准确性,提升用户找到「想要寻找的内容」的准确性。简言之,提高了搜索的准确性。
细节二:搜索结果的排序
搜索结果的排序为:最常使用 -> 联系人 -> 群聊 -> 功能(微信自带的功能) -> 游戏 -> 使用过的小程序 -> 关注的公众号 -> 聊天记录 -> 收藏 -> 搜一搜 -> 搜索推荐词
1. 除「收藏」只展示一条以外,其余每一类展示数量不超过 3,若搜索结果超过 3 将被折叠显示,点击进入新页面可查看。
2. 同一类的排序为 A-Z,和通讯录的排序一致。微信里只有两种排序:按时间和首字母 A-Z。
3. 搜一搜里支持:朋友圈、公众号、音乐、文章、小程序、视频、表情、百科、小说、问答等内容。这些内容搜索里是无法搜出来的。因搜索页的指定内容搜索对用户的搜索进行了分流,从而这里的优先级偏低,且内容为折叠状态。
分析:
(1)为什么「聊天记录」的优先级这么低?
猜测:
其一,聊天记录的搜索可以精准地避开排在「聊天记录」之前的项。
其二,「聊天记录」匹配时的命中率太高。
(2)为什么只有「收藏」仅展示一条数据,且优先级超级低?
俗称「知识都是藏在你的收藏里」或者「随手收藏,从来不看」,看起来是有道理的。一般用户对自己收藏的内容都没什么印象,因此依靠记忆去通过「搜索」这一功能查找收藏内容的可能性很低。
细节三:用户输入的搜索内容不同,提示文案不同
如图所示,输入字母时,文案为「微信号」,输入数字时,文案为「手机/QQ号」,用户不存在的提示,文案为「用户」和「账号」。
分析:
1、为什么文案在搜索时不统一为账号,或者在提示框里不分别列出「微信号」或「手机/QQ号」?
搜索做区分,会给用户一种「我知道你要找什么」的感觉。—— 我懂你的感觉。如果不做区分,就没有这种情感化的效果。
提示弹框为什么不区分,微信号和手机/QQ 号在微信里都会折射成一个人,一个用户。虽然最终会折射到一个人身上,但不能提示「该人不存在」,一来不是很友好,二来,并没有表达清楚意思,很有可能会造成误解。
而用户搜索的内容(不管是微信号、QQ号、手机号)对微信系统来说,都属于账号。用户和账号的对应与搜索的具体的人和对应账号的对应正好契合。同时,用户和账号本身是不会造成误解的。
2、那为什么不把账号区分为「微信号」和「手机/QQ号」?
猜测这个场景出现的频率不高,同时在搜索不出来这个场景下点击搜索内容致使出现这个弹窗的频率应该更低,因此没有必要做更细节的优化。