解析|微信搜索功能设计
移动互联网时代,用户信息被孤岛化,用户生产的内容被隔离在自家产品,搜索引擎无法通过搜索抓取,例如微信公众号、小红书等。
在国内除百度搜索外,用户使用量最多的可能就是微信搜索。微信搜索可以同时搜索到来自微信公众号、微博、知乎、腾讯视频、快手、第三方网页、小程序等渠道的内容。
本文主要讲解微信搜索功能规则设计,大纲如下:
1、全局与局部搜索
2、搜索前置
3、本地与联网搜索
4、即时搜索
5、搜索排序
搜索范围一般有两种,一种是全局搜索,搜索的内容为整个平台的内容;另一种是局部搜索,即搜索结果仅为规定的范围,其好处可以缩小搜索结果范围。
微信首页、通讯录和搜一搜均采用全局搜索,即搜索内容为整个微信平台和第三方的内容。
小程序和订阅号搜索,则是局部搜索,即只搜索规定范围内的搜索结果,避免搜索结果含有其他非想要的类型。
微信是为数不多的将搜索范围前置(搜一搜,搜索结果页也有搜索范围筛选),而其他的app大部分是将搜索范围后置。即搜索出现结果,通过tab展示不同的搜索结果,例如b站。
为什么微信将搜索范围前置呢?
我在网上找到了比较靠谱的回答,以下是来自纯银社群Tony的回答:
微信目前没有能力去做全搜索结果的后置分类。
这里的“没有能力”是个中性词,因为和网页这种格式化标准化的内容组织形式不一样,微信内部的内容格式高度不统一,难以统一搜索。
比如现在微信的搜索结果是有分类的,分类是1,最常使用;2,联系人;3,群聊;4,公众号;5,聊天记录;6,收藏;7,内容搜索(搜一搜)。其中有可能还插入一个“游戏类别”。同时前置也有分类,分别是“朋友圈”,“文章”,“表情”,“小说”,“音乐”,“表情”。
可以看到这些分类对应的内容可能是通讯录的联系人,可能是群聊名称,也可能是公众号名称等等。这些格式不统一的内容之间,缺乏一种像网页pagerank,社交媒体feed的edgerank的排名算法,这在技术上就形成了很大的挑战,微信很可能“没有能力”。因为内容形式不统一,就很难用同一个标准算法衡量每种内容的权重,即使是淘宝的商品,因为统一是商品,所以基于“好评”“购买量”“价格”等特征来做rank的技术挑战也比微信要在“联系人”“群聊”“公众号”“朋友圈”“表情”这些纷杂的内容形态之间做rank要简单的多。
简单说,如果只搜联系人,微信能做排名;只搜朋友圈,微信也能做排名;但是揉在一起,微信就不知道怎么做排名了:联系人应该排第一栏还是朋友圈内容应该排第一栏,或者说是表情包应该排第一栏?这个结论如何得出?
因为微信没有能力做这些不同格式内容的搜索排名,或者说控制不了把多种不同格式内容糅合在一起进行搜索的用户体验。他只能采取“后置分类倾向于IM产品的应用内搜索,如联系人,群聊,公众号”,“前置分类倾向于内容分类搜索,如表情,小说,音乐”。来达到一个虽然不如google百度这样流畅自然,但足够可控的,比较稳定的搜索体验。
微信搜索过程中,因为搜索内容都是本地,所以采用即时搜索机制,这一过程中体验很好,用户不需要点击键盘上的搜索按钮,因为当前页即代表结果页。
搜索机制分为两种,一种是本地搜索,一种是网络搜索。
本地搜索,即不需要通过网络数据即可检索出本地信息内容,其特点是速度快,不需要加载。
网络搜索,即通过网络数据检索出非本地存储数据的内容,其特点是可以获得大量的数据。
联系人、群聊、使用过的小程序、收藏文件标题等均存在本地,不需要联网即可搜索,无需加载。
搜一搜为网络搜索,即搜索的主要为网络全平台信息。
输入搜索词即时出现搜索结果,则为即时搜索。用户不需要点击搜索按钮即可得到搜索结果。
如下图所示:淘宝搜索,搜索关键词,出现搜索词的联想匹配。用户只能点击搜索或点击匹配联想词进入搜索结果页
微信搜索,用户输入关键词,即时出现搜索结果。
两者差异化是因为:微信搜索结果页可以在当前页面呈现,而淘宝,关键词的搜索页是搜索词的全部的商品,搜索过程页,无法承载搜索结果。
两者搜索结果的内容形态差异,导致出现这两种完全不同的设计。
微信主要为即时通讯工具,所以搜索的主场景围绕着:搜索联系人、群组和聊天记录展开。其中权重最高的是最常使用。其次是联系人、群聊、使用过小程序、公众号以及聊天记录等
其排序顺序如下图所示:
其中搜一搜为网络搜索,其他为本地搜索。
搜索结果排序,反映出用户对类型的高低频,越排在前面,搜索的频率越高。