关于搜索,我总结了这些
编辑导语:当下用户面对的是爆炸级增长的海量信息,用户若想获得自己想要的内容,则需要通过一定功能来达成目标,如搜索功能,即用户发出检索行为,帮助用户获得结果的功能。不过,搜索功能的开发是每个产品必需的吗?本篇文章里,作者就搜索的定义、条件、应用场景等方面进行了总结,一起来看一下。
在最近跟近的项目中,有涉及搜索这个功能。搜索功能上线后,用户没有办法通过搜索找到想要查找的信息,因此针对搜索进行了一次优化迭代。
在日常使用各类产品搜索的过程中,也发现不同的产品搜索维度,搜索结果的相关性也不相同,故想借此次思考,来对搜索进行基础的总结:什么样的产品需要做搜索?以及在设计搜索功能时需要注意什么?方便大家以后在做搜索功能的过程中进行参考,从而根据自己产品业务的特性进行调整。
一、搜索的定义
搜索:仔细查找、搜寻的意思。即先有目标,才能进行查找。
比如:我在淘宝搜索到了“收纳盒”的信息。是因为我想买个收纳盒,所以才去淘宝上进行搜索。引申到互联网产品中,意指用户通过在输入框中输入目标词,按照某种规则,在某个范围,查找符合目标词的内容,并按照一定的规则为用户展示相关结果。
为了避免信息的遗漏,在系统检索的过程中,需要对特定维度的全部的信息进行查找。
以小红书为例:当用户想买面膜时,就会在小红书上将“面膜”作为目标词进行搜索。系统会在已有的笔记库内进行搜索,并且根据笔记的特征和关键词来做一个匹配,完成匹配后,会按照相应的规则进行一个排序、展示,呈现出搜索引擎在小红书笔记中抓取到的内容。
在此过程中:可以发现搜索涉及到的流程:目标词、搜索规则、搜索范围、搜索结果。
搜索范围:即用户搜索的目标词与系统数据库中哪些字段进行匹配。
数据库:就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加、修改、删除及查询等操作。
数据库中以表为组织单位存储数据。根据表字段所规定的数据类型,我们可以向其中填入一条条的数据。以小红书笔记表为例:组成笔记表的字段包含:笔记ID、标题、图片、笔记内容、发表用户、发表时间、话题、标签、发布地点等信息。用户每发布一则笔记都成为了笔记表中的一条数据。
当用户搜索“面膜”时,会根据小红书笔记表中的标题、笔记内容、标签字段进行匹配。查找与之相关的内容。
搜索结果:将符合的结果,按照某种规则排序后,呈现给用户。
核心规则:与目标词的相关程度,而相关程度的量化指标,即权重。在系统中,某一指标在整体评价中相对重要程度,在这里意指,一条笔记的标题中、笔记中各个位置、标签、评论、收藏点赞等数据中涉及“面膜”这一目标词时,计算的权重比例是不同的。
搜索的结果有若干条,而用户想要的可能就只有一条。如何在若干条相似的搜索结果中,找到用户符合用户期望的那条信息,就涉及到多种数据维度指标计算,根据不同数据指标的权重,找到更符合用户预期的数据,按权重的高低,尽快在一堆整体差别不是很大的数据中,对信息进行排序,帮助用户更快找到想要的数据。
对小红书的整篇笔记来说,位置不同,面膜在这篇笔记中的权重也会不一样。权重越高,排序在前(笔记质量本身带来的权重、笔记发布账号自身的权重、笔记点击率、点赞、评论收藏等等这些数据带来的权重,甚至还包括评论你的用户它自身的一个权重)。
搜索作为一种工具,具有很强的用户主动性,帮助用户在海量的信息中,快速找到自己的目标项。
在系统中,信息不是自己产生的,它们放在哪里,信息里面包含了什么词,对于用户而言,一无所知,在信息爆炸的今天,除了搜索别无选择。
因此搜索变成了刚需,但不是所有的产品都要一开始就要先做搜索。“别人有什么,我也要有什么”这种逻辑要不得,凡是都有成本,有利有弊,是否值得做,要看个方便是否合适。
不要高估搜索对网站的作用,也不要低估建索引的成本。
第一是空间成本。
可以想象下,如果对深圳市的户籍记录按照人名建一个索引,再按照毕业学校、工作单位、家庭住址等等建索引,是需要占用很多空间的,建的索引越多,使用起来虽然会方便,但是空间成本也就高了。
如果我们把产品里面的内容都建立起索引,索引本身建立的空间,大约是原来内容总容量的50%。也就是说如果你的产品的服务器原来是42t,现在只有21t来存放用户生成的各种数据,要留出21t来放索引。当然,服务器的内存还是足够大的,占用多了,产品的速度会成倍地下降。
除了创建索引外,全表搜索也是搜索信息方式,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据处理时间,并造成大量输入和输出操作。
第二是时间成本。在产品的初期,所有的研发都是在围绕产品的核心需求进行开发,对于数据量还不大的产品而言,优先满足高频的场景功能是更优先的。
二、搜索的条件
1. 用户有明确的目标
当用户有明确目标时,会通过搜索来找到目标项,从而快速的找到自己所需的目标项。当用户想要买一瓶洗发露,会打开淘宝进行搜索;当用户想买一本电商产品的书籍,会打开知乎先了解,找到想要的那本,然后去某宝搜索进行购买……等等。
系统内数据量大。
2. 产品数据量大
产品内数据量足够多,用户没有办法在短时间内快速找到自己的目标,可通过搜索进行查找。
一个只有50条数据的资讯网站,用户在查看寻找时,翻找5页就可以了,不需要通过搜索来找到目标项。在产品的初期,也不需要急急忙忙地把搜索的功能堆砌上去,可优先考虑核心用户高频的场景的功能,等数据量上来了,再进行版本的迭代,避免资源的浪费。
三、什么样的场景下会使用搜索功能?
用户在使用某产品时,想要找某个目标项,但是不好找,这种时候,就需要搜索功能。能够通过关键词帮助用户快速定位想要的数据。
由此可以看到搜索场景的特征有:数据量大、目标项(关键词)、目标项不好找,没有办法通过分类或者翻页快速的找到目标项。
【得到APP】在产品初期也是没有搜索功能的。产品的种类有限,主要是为用户提供音频课程,刚开始的课程较少,用户通过课程分类就可以找到自己想要的课程,随着时间的推移,得到的音频课程数量的增加,以及产品种类的扩展:听书、看书、锦囊等。为了方便用户快速找到自己的目标项,上线了搜索功能。
故可以得出,搜索的场景:在某一产品中,内容数据量大,无法通过翻页,以及分类快速找到自己想要的目标项时,这个时候就靠搜索了。
- 首先,我知道自己要什么?
- 其次,我知道去哪里找?
- 最后,通过搜索功能快速查找到。
不同的产品,搜索到的信息是不一样的,想要买一颗生菜,就要去叮咚买菜、每日生鲜、美团买菜,而不是百度、知乎、小红书。
搜索作为一个功能,可以帮助用户在产品内部的全量信息中进行仔细查找,找到与之相关的信息。
四、没有搜索这个功能会怎么样?
从搜索的场景中,我们能够发现,搜索场景解决的核心问题:在海量数据中,很难找到目标项、即目标项不好找。
没有搜索功能会对产品造成什么影响?
用户的查找效率变低。在海量的数据中,没有办法通过快捷的方式找到目标项,只能逐条信息翻看,势必会影响查找的效率。如若目标项很难找到或找不到,进而也会给用户造成不好的使用体验,从而降低用户再次使用产品的概率。
由此,我们可以发现,如果产品能够提供搜索功能,能够有效提高用户的查找效率,也能给用户良好的使用体验,再次使用系统。
五、总结
1)搜索的定义:用户通过在输入框中输入目标词,按照某种规则,在某个范围,查找符合目标词的内容,并按照一定的规则为用户展示相关结果。
2)搜索的要素:目标词、搜索规则、搜索范围、搜索结果。
- 目标词:即搜索的关键词,用户想要搜索的信息;
- 搜索规则:即目标词与内容的匹配规则;
- 搜索范围:即用户搜索的目标词与系统数据库中哪些字段进行匹配;
- 搜索结果:将符合的结果,按照某种规则排序后,呈现给用户。
3)搜索场景是重点,产品内数据量大的时候再考虑。
搜索不是小功能,莫要随便就开发,既要考虑空间成本,也要考虑时间成本。条件有了,再触发。
参考:
1.第062封信:从windows Vista系统的失败看到哪些商业逻辑——得到·硅谷来信2·谷歌方法论
2.3步阐述:简单的搜索框,为何不简单?——人人都是产品经理·菜花
本文由 @鲸鱼 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。
听君一席话,胜似一席话
在内容体量大的时候搜索肯定是必然的,但是不同产品的搜索规则可能有些大同小异。现在搜索的商业价值也在逐渐增长,例如小红书的搜索结果中包含广告,那么这些广告被爬取展示的规则,以及所有搜索结果的权重、展示等(搜索因子)是怎么样的呢,我觉得这一方面有很大的学问,也不仅是在基于技术的角度,希望能对这一方面做更深入的分析~
首先,我知道自己要什么?
其次,我知道去哪里找?
最后,通过搜索功能快速查找到
搜索的用法