三步打造电商搜索后台方案
搜索功能,可以做到极度复杂和庞大,大公司有条件整个部分负责搜索,在小公司仅作为一个模块。如果电商产品中,用户搜索频率高,那么搜索是重要的商品和流量分发入口。搜索后台方案的矛盾点在于,它的优化需要有大量商品数据和用户行为数据积累,也就是使用越多,结果越准。有实力团队不可避免引入机器学习。对商品不多、用户量不大的电商团队,如何设计搜索后台最简方案?
电商中,搜索商品一般有两个入口:分类导航和关键词。前者不需用户手动输入,而以分类ID、名称或标签匹配,返回结果。以关键词搜索涉及到建立搜索引擎、分词、匹配、排序,场景可以涵盖以分类导航搜索,所以本文以关键词搜索为例,讨论后台方案设计。
首先看呈现给用户搜索结果,要满足什么目标?
- 在首屏可以一眼找到想要的商品
- 如果前几屏没有找到所需商品,所见内容应准确且丰富,想继续浏览结果列表或跳转页面浏览
- 结果准确情况下,列表排序规则清晰
上述目标,需要搜索匹配准确、排序浏览高效、加入运营元素补充搜索结果。
返回结果是否令人满意,有通用评价标准
- 召回率:能返回结果,需要商品数量足够大,也需要算法能匹配上足量商品数据
- 准确率:返回结果和用户意图匹配,都是想要的商品
- 排序:默认挑选效率最高的排序方式,并可以自由选择切换
如果以搜索“女士钱包”关键词为例,后台该如何匹配、筛选、排序到前端呈现?
匹配
直接用关键词匹配数据库字段,效率很低。通常会建立搜索引擎,将原始数据重构,做出供搜索系统匹配的“搜索数据库”。这相当于一个连接所输入关键词和商品数据的通道。
用户输入关键词,匹配搜索数据库时,也不是精确匹配,而会根据分词、同义词、短语、标签、分类多个维度匹配。分词之后还考虑是否取交集关系,比如“女士钱包”,可以分别找包含“女士”和“钱包”的元素,然后取交集。
除了关键词和搜索数据库匹配,还需要做意图分析。“女士钱包”,“女士”修饰“钱包”,用户本意更是想买钱包,而结果出现“女士背包”、“女士服装”,会不尽如人意,应该更多匹配“钱包”类型下的商品返回结果。
后台如何匹配,涉及到很多算法,业界也有成熟通用的解决方案,具体技术实现可参考商品搜索引擎资料整理。
排序
在搜索结果丰富、准确度高前提下,如何排序让选择和浏览效率最高?
排序基于各项权重的打分,如果结果是一条条商品,权重分这几个方面:
- 关键词匹配度
- 分词关系:"与"关系, 偏重结果的准确率(precision),当搜索"AB"时, 结果需要既包含A也包含B;"或"关系, 偏重结果的召回率(recall):当搜索"AB"时, 结果可以是只包含A或只包含B
- 文本匹配:算法基于TF*IDF
- 商品描述、属性、分类等结构化信息
- 商品销售属性,如销量、收藏次数、点击次数、评论次数、好评次数、差评次数、是否有货…
- 最简单的三个权重由大到小排序为:月销量 > 收藏 > 点击
- Badcase:比如一个商品销量多却评价差
- 广告:属于商业化的范畴
- 用户行为
- 已购商品、客单价、浏览、收藏、购物车、配送地址
- 人口统计学分类指标,如性别、年龄、收入
- 登录信息:定位、时间、登陆次数
挑选出所需权重,建立规则和公式,给每条搜索结果打分。打分算法可参考搜索引擎排序。结果列表排序,一般按照默认打分从高到低排序,是淘宝、京东排序工具栏的“综合”,同时也支持手动切换按销量、好评、新品等维度排序。
呈现
电商产品初期,因为SKU少,常常无米下锅般无匹配结果,这时如何更不尴尬?
搜索结果列表最理想的呈现,应该像首页一样,可以无限刷。也就是就算无完全匹配结果,也不应该空荡荡一片留白或占位图,阻断体验。无论是否有匹配,结果中展示相关度最高的商品。只是这种方案,只用名字匹配容易穷尽,所以需要将商品所有纬度信息都和关键词匹配,属性、名称、标签、描述……,有一个匹配就上了,就呈现结果。
再一想,这样做,需要两个前提:1. 海量SKU,怎样都能匹配上关系十万八千里符合的商品;2. 商品打足量标签、多维度数据结果化,和关键词匹配,不然难以做到稍微准确
如果没有这两个前提,还是老老实实做推荐模块吧。推荐也有以下两种方案:
-
展示推荐商品瀑布流。所展示商品来源,有选择手动配置和自动推荐两种。手动配置无非选择热销、折扣、活动商品配上去,但运营千人一面配置商品,既和搜索关键词无关(代表着用户现在想要),也和过去想要的看过的无关,故不如算法自动化个性推荐。
-
展示其他热搜关键词/品类。本来已经没有关键词搜索结果了,其他热搜放在那里等于告诉用户,你要的没有了,其他人喜欢的你要不要看看,类似餐馆某个菜没了时候服务员说的话。这样体验不如个性推荐,加之离商品更远,展示效果不如商品瀑布流。
在搜索结果中,列表内容单元除了单个商品记录,还可以在列表中插入对应品类的热销品牌、人工运营的商品聚合页、专题频道页入口,让用户有兴趣(尤其在无想要结果时)浏览更多。
网友评论