先简单介绍一下背景
1、简书目前的搜索分为「综合排序」「按热度」「最新发布」「最新评论」
2、其中综合排序是按照搜索算法算出的综合结果(具体算法就不在这里阐述了),比如搜某关键词,总共有1W条结果,然后根据算法算出的综合权重进行排序
3、另外三个排序维度,是基于综合排序的基础上,进行的排序,比如热度,就是综合排序选出的1W个文章,按照喜欢数进行排序,最新发布和最新评论同理,比较简单粗暴直接
4、更多背景可参照上一篇文章
再介绍一下其中的矛盾和问题
1、根据上面所说的问题,我综合排序出来的1W条结果,可能其中9K条对于用户而言,都是属于无效文章,而取这部分数据,简单根据喜欢数,或者文章发表时间,呈现出的效果很差,毕竟这是严格按照某一顺序进行的排序,大量无效文章可能排在很前面,对程序员而言,产品这样去设计,他这样的一个实现逻辑,没有问题,但对于实际用户使用搜索的场景,给到的效果却不够友好。
2、而从用户需求层面出发,结合简书的产品特性,可以把用户需求精准的拆分为以下几类场景
2.1「搜索关键词,看符合需求的文章」
2.2「搜索某一时间段内,符合要求的文章」
2.3「符合要求的文章中,看最热门的文章」
产品改进思路
去掉了最新发布和最新评论这种严格按照的排序,而采用「最近一段时间内」这种排序方式,这个的逻辑很简单,就是我1提到的综合排序的结果,只取某一段时间范围内的结果,文章什么在前什么在后依旧是根据算法算出来的权重进行排序的,比如一周内,我会优先看到一周内权重更高的,命中我关键词的结果,而不是纯粹按照时间先后进行排序。
这个改进只需要改产品策略,完全不需要改搜索算法就能实现,而实际做出来后,会发现按照这个改进搜出来的文章基本满足用户需求
而对于2.3提到的,用户看热门文章的需求,我们依旧进行了保留,而对于这部分的优化,实际则需要在「算法」层面进行改进,在产品层面能够改动的地方实在有限,我们调了一下关键词的权重,把一些比如「的」之类的文字进行了过滤,实际来说,是有一定的效果,但还不够。
最终产品迭代的方案
原来的维度:
「综合排序」「按热度」「最新发布」「最新评论」
现在的维度:
按相关度切换搜索结果,并提供以下筛选维度「所有时间、最近一天、最近一周、最近三月」
按热度切换搜索结果,并提供同上的筛选维度
效果分析
搜索本周做了两方面的改进,其一是改进「算法」,其二是改进产品提供的筛选维度。
改进后,如上提到的2.2的需求得到了较好的满足,从时间维度筛选文章现在的体验比以前好多了,以前只能点最新发布,而最新发布排序的结果由于纯粹按照时间排序,非常不友好。
而改「算法」这一措施,是对整体搜索结果改进的优化,效果比以前搜出来的是要好的。
产品的反思
其实之前提到的搜索问题在很久以前就一直存在,由于产品自身没有对问题进行有效推进,每次都止步于没人没资源或者知道了后面会调一下,导致某些问题一直存在,这也是在整个做产品的过程中需要注意的。