互联网时代,虽然信息获取的方式越来越多元,但搜索始终是人们寻找答案的第一选择。即使在移动互联网如此成熟的今天站内搜索依然是产品提升触达和流量转化的关键一环。以电商为例,业内统计显示超过四成的GMV都是由搜索贡献的。
那么规划一个搜索产品时,应该关注哪些核心要素?下面我从技术原理和用户交互两个维度来聊聊。
搜索是怎么工作的
从技术角度来说,搜索本质上就是一个匹配过程:用户输入的查询词和系统数据库里的内容完成对接。这件事可以拆成三个关键环节来做。
理解用户想搜什么
用户打出来的搜索内容通常是自然语言,可能是几个词也可能是一句话,机器没办法直接看懂它在说什么。所以Query分析就是搜索系统的第一道工序。
首先得做分词,把一个长句拆成单独的语义单元。比如“双11全国购物节”会被拆成“双11/全国/购物节”,然后去和系统词库对一对。词库的构建一般会用到常用词表、用户搜索行为日志、产品名称、商品品牌和品类这些数据,并且需要持续更新。技术上可以借助jieba、IK这类开源分词工具来完成。

不过现实情况往往更复杂。用户可能打错字、输入拼音,或者想表达的意思不太清楚。这时候系统就得有纠错改写的能力,把那些错误的输入纠正过来;同时通过同义词扩展和语义理解,更精准地猜到用户真正想要什么。这些能力通常靠构建纠错词库和同义词映射库来实现。这几年深度学习技术发展很快,BERT这类NLP模型在语义扩展场景里的应用,让意图理解的准确率提升了不少。
另外,Query里每个词的重要性也不一样。找出核心关键词,能帮后面两个环节更高效地找到目标内容。

从海量数据里捞出相关内容
Query解析完之后,系统要在海量数据里快速定位到相关内容。这里靠的是一套高效的索引系统。
以电商搜索为例,搜索引擎会把商品标题、简介、广告词、品牌、品类这些文本字段都纳入索引,构建起词和数据之间的映射关系。Query分词完成后,系统很快就能从数据库里把命中的商品都捞出来。
除了文本信息,搜索引擎还会把销量、评论数、点击率这些数值字段也建上索引,给后面的排序阶段提供数据支持。

决定什么排在前面
召回的结果往往有很多,哪个应该靠前展示?搜索系统会给每个候选结果打个分,分数越高排名越靠前。
影响排序的因素主要分两类。一是文本相关性,也就是搜索词和内容本身的匹配程度,这方面业界已经有很多成熟的方案,比如TF-IDF、BM25这些经典算法。二是业务相关性,包括价格、销量、时效性、信息完整度、用户互动数据这些和具体业务紧密相关的指标。
排序权重具体怎么配,并不是一成不变的,而是随着数据积累和badcase分析不断迭代优化。这既考验技术能力,也考验对业务的理解深度。
除了按相关性排序,现在主流搜索系统基本都加入了个性化排序的能力。通过挖掘搜索日志、用户画像和内容特征,构建点击率预估模型,预测不同用户可能偏好的结果,实现千人千面的展示。
经过Query解析、召回、排序这一系列处理后,最终结果按相关度顺序呈现给用户——这就是搜索系统的基本工作逻辑。
用户是怎么用搜索的
搞清楚了技术原理,再从用户视角看看搜索功能通常由哪些部分组成。
搜索前:怎么引导用户开始
用户还没开始搜的时候,系统会提供好几种输入方式。最常见的还是文本框搜索;这几年语音识别技术成熟了,有些产品也支持直接说话搜索,说到底就是把语音转成文字再走搜索流程;还有很多电商平台配备了拍照搜索的功能。
搜索入口是个输入框时,框里通常会预置一个默认词。一方面降低用户的决策成本,另一方面平台也能借机做营销推广和流量分发。默认词怎么选,一般会综合考虑用户的历史行为数据、实时热词,以及运营的人工干预。

搜索中:过程中的交互和辅助
从用户点进搜索框到输完内容这个过程中,历史搜索记录挺有用的。能帮用户快速回顾之前搜过什么,也方便继续之前没完成搜索。
立即登录