指南编辑:现在用户面临着爆炸性增长的海量信息。为了获得用户想要的内容,必须通过搜索功能(即用户执行搜索动作以使用户获得结果的功能)来实现目标。

不过,搜索功能的开发是每个产品必需的吗?本篇文章里,作者就搜索的定义、条件、应用场景等方面进行了总结,一起来看一下。

在最近跟近的项目中,有涉及搜索这个功能。搜索功能上线后,用户没有办法通过搜索找到想要查找的信息,因此针对搜索进行了一次优化迭代。

在日常使用各类产品搜索的过程中,也发现不同的产品搜索维度,搜索结果的相关性也不相同,故想借此次思考,来对搜索进行基础的总结:什么样的产品需要做搜索?以及在设计搜索功能时需要注意什么?方便大家以后在做搜索功能的过程中进行参考,从而根据自己产品业务的特性进行调整。

一、搜索的定义

搜索:仔细查找、搜寻的意思。即先有目标,才能进行查找。

比如:我在淘宝搜索到了“收纳盒”的信息。是因为我想买个收纳盒,所以才去淘宝上进行搜索。引申到互联网产品中,意指用户通过在输入框中输入目标词,按照某种规则,在某个范围,查找符合目标词的内容,并按照一定的规则为用户展示相关结果。

为了避免信息的遗漏,在系统检索的过程中,需要对特定维度的全部的信息进行查找。

以小红书为例:当用户想买面膜时,就会在小红书上将“面膜”作为目标词进行搜索。系统会在已有的笔记库内进行搜索,并且根据笔记的特征和关键词来做一个匹配,完成匹配后,会按照相应的规则进行一个排序、展示,呈现出搜索引擎在小红书笔记中抓取到的内容。

在此过程中:可以发现搜索涉及到的流程:目标词、搜索规则、搜索范围、搜索结果。

搜索范围:即用户搜索的目标词与系统数据库中哪些字段进行匹配。

数据库:就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加、修改、删除及查询等操作。

数据库中以表为组织单位存储数据。根据表字段所规定的数据类型,我们可以向其中填入一条条的数据。以小红书笔记表为例:组成笔记表的字段包含:笔记ID、标题、图片、笔记内容、发表用户、发表时间、话题、标签、发布地点等信息。用户每发布一则笔记都成为了笔记表中的一条数据。

当用户搜索“面膜”时,会根据小红书笔记表中的标题、笔记内容、标签字段进行匹配。查找与之相关的内容。

搜索结果:将符合的结果,按照某种规则排序后,呈现给用户。

核心规则:与目标词的相关程度,而相关程度的量化指标,即权重。在系统中,某一指标在整体评价中相对重要程度,在这里意指,一条笔记的标题中、笔记中各个位置、标签、评论、收藏点赞等数据中涉及“面膜”这一目标词时,计算的权重比例是不同的。

搜索的结果有若干条,而用户想要的可能就只有一条。如何在若干条相似的搜索结果中,找到用户符合用户期望的那条信息,就涉及到多种数据维度指标计算,根据不同数据指标的权重,找到更符合用户预期的数据,按权重的高低,尽快在一堆整体差别不是很大的数据中,对信息进行排序,帮助用户更快找到想要的数据。

对小红书的整篇笔记来说,位置不同,面膜在这篇笔记中的权重也会不一样。权重越高,排序在前(笔记质量本身带来的权重、笔记发布账号自身的权重、笔记点击率、点赞、评论收藏等等这些数据带来的权重,甚至还包括评论你的用户它自身的一个权重)。

搜索作为一种工具,具有很强的用户主动性,帮助用户在海量的信息中,快速找到自己的目标项。

在系统中,信息不是自己产生的,它们放在哪里,信息里面包含了什么词,对于用户而言,一无所知,在信息爆炸的今天,除了搜索别无选择。

因此搜索变成了刚需,但不是所有的产品都要一开始就要先做搜索。“别人有什么,我也要有什么”这种逻辑要不得,凡是都有成本,有利有弊,是否值得做,要看个方便是否合适。

不要高估搜索对网站的作用,也不要低估建索引的成本。

第一是空间成本。

可以想象下,如果对深圳市的户籍记录按照人名建一个索引,再按照毕业学校、工作单位、家庭住址等等建索引,是需要占用很多空间的,建的索引越多,使用起来虽然会方便,但是空间成本也就高了。

如果我们把产品里面的内容都建立起索引,索引本身建立的空间,大约是原来内容总容量的50%。也就是说如果你的产品的服务器原来是42t,现在只有21t来存放用户生成的各种数据,要留出21t来放索引。当然,服务器的内存还是足够大的,占用多了,产品的速度会成倍地下降。

除了创建索引外,全表搜索也是搜索信息方式,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据处理时间,并造成大量输入和输出操作。

第二是时间成本。在产品的初期,所有的研发都是在围绕产品的核心需求进行开发,对于数据量还不大的产品而言,优先满足高频的场景功能是更优先的。

二、搜索的条件

1. 用户有明确的目标

当用户有明确目标时,会通过搜索来找到目标项,从而快速的找到自己所需的目标项。当用户想要买一瓶洗发露,会打开淘宝进行搜索;当用户想买一本电商产品的书籍,会打开知乎先了解,找到想要的那本,然后去某宝搜索进行购买……等等。

系统内数据量大。

2. 产品数据量大

产品内数据量足够多,用户没有办法在短时间内快速找到自己的目标,可通过搜索进行查找。

一个只有50条数据的资讯网站,用户在查看寻找时,翻找5页就可以了,不需要通过搜索来找到目标项。在产品的初期,也不需要急急忙忙地把搜索的功能堆砌上去,可优先考虑核心用户高频的场景的功能,等数据量上来了,再进行版本的迭代,避免资源的浪费。

三、什么样的场景下会使用搜索功能?

用户在使用某产品时,想要找某个目标项,但是不好找,这种时候,就需要搜索功能。能够通过关键词帮助用户快速定位想要的数据。

由此可以看到搜索场景的特征有:数据量大、目标项(关键词)、目标项不好找,没有办法通过分类或者翻页快速的找到目标项。

【得到APP】在产品初期也是没有搜索功能的。产品的种类有限,主要是为用户提供音频课程,刚开始的课程较少,用户通过课程分类就可以找到自己想要的课程,随着时间的推移,得到的音频课程数量的增加,以及产品种类的扩展:听书、看书、锦囊等。为了方便用户快速找到自己的目标项,上线了搜索功能。

故可以得出,搜索的场景:在某一产品中,内容数据量大,无法通过翻页,以及分类快速找到自己想要的目标项时,这个时候就靠搜索了。

  1. 首先,我知道自己要什么?
  2. 其次,我知道去哪里找?
  3. 最后,通过搜索功能快速查找到。

不同的产品,搜索到的信息是不一样的,想要买一颗生菜,就要去叮咚买菜、每日生鲜、美团买菜,而不是百度、知乎、小红书。

搜索作为一个功能,可以帮助用户在产品内部的全量信息中进行仔细查找,找到与之相关的信息。

四、没有搜索这个功能会怎么样?

从搜索的场景中,我们能够发现,搜索场景解决的核心问题:在海量数据中,很难找到目标项、即目标项不好找。

没有搜索功能会对产品造成什么影响?

用户的查找效率变低。在海量的数据中,没有办法通过快捷的方式找到目标项,只能逐条信息翻看,势必会影响查找的效率。如若目标项很难找到或找不到,进而也会给用户造成不好的使用体验,从而降低用户再次使用产品的概率。

由此,我们可以发现,如果产品能够提供搜索功能,能够有效提高用户的查找效率,也能给用户良好的使用体验,再次使用系统。

五、总结

1)搜索的定义:用户通过在输入框中输入目标词,按照某种规则,在某个范围,查找符合目标词的内容,并按照一定的规则为用户展示相关结果。

2)搜索的要素:目标词、搜索规则、搜索范围、搜索结果。

  • 目标词:即搜索的关键词,用户想要搜索的信息;
  • 搜索规则:即目标词与内容的匹配规则;
  • 搜索范围:即用户搜索的目标词与系统数据库中哪些字段进行匹配;
  • 搜索结果:将符合的结果,按照某种规则排序后,呈现给用户。

3)搜索场景是重点,产品内数据量大的时候再考虑。

搜索不是小功能,莫要随便就开发,既要考虑空间成本,也要考虑时间成本。条件有了,再触发。

参考:

1.第062封信:从windows Vista系统的失败看到哪些商业逻辑——得到·硅谷来信2·谷歌方法论

2.3步阐述:简单的搜索框,为何不简单?——人人都是产品经理·菜花

本文由 @鲸鱼 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

相关推荐