POST TIME:2018-12-03 21:45
搜索诞生于互联网早期时代,在漫长的迭代演化中,搜索诞生了很多业界尺度功能。本篇文章会盘点搜索交互的尺度功能,同时也会介绍这些功能背后的逻辑。
前情提要一下,上一期介绍了搜索的基来源根基理:五分钟了解搜索原理
搜索有系统词库和内容索引两大部分,其中系统词库可以快速关联到内容索引中,这是搜索的基础。用户进行一次搜索查询,之后会经历三个步骤:第一步,对用户输入信息的解读:通过分词,停用词等处理方法,搜索系统首先把用户的非尺度的输入词关联到尺度的词库;第二步,按照用户输入信息对内容进行筛选:并不是所有关联到的内容都会被筛选出来,搜索系统需要综合考虑准确率和召回率,筛选出需要展示的内容;第三步,对筛选后的结果进行排序:搜索系统在考虑文本内容相关度和各个内容业务数据的表示之后,通过打分给出最终排序,呈现给用户。这个综合排序的原理,我们以基于Lucene的Solr系统进行了解释。
本期的搜索,PC端主要拔取了Bing搜索作为案例,同时也兼顾了一些大用户量的移动端的产品进行了增补说明。
那么,,搜索交互功能大盘点现在开始:
1. 自动补全自动补全,就是用户在输入框敲字符时候,会弹出下拉列表提示候选词给用户,便利用户输入,提升用户体验。一方面帮手用户优化搜索条件,一方面也能够减少用户的输入错误。自动补全的素质是按照用户现有的输入词,去检索当地词库中的词,同时根据查询量凹凸进行排序。
当然,令人欣喜的是,之后也看到了一些自动补全的变种,差别的搜索按照自身业务,调整了自动补全的展示。好比下图某电商搜索,在自动补全的基础上,进一步扩展了筛选条件,减少用户操作。
2. 历史记录使用Bing输入“知识就是力量”之后,浏览器当地会生存我的输入记录。下一次输入“”知”的时候,差别于之前,搜索系统会在自动补全的联想词之前,增加能够匹配我历史搜索的输入词。因为素质上,人在查找信息的时候,会存在多次查找相同内容的需求。历史记录也是减少用户输入成本的有效手段。
3. 自动纠错自动纠错,顾名思义,检测到用户输入词错误,搜索系统会自动纠正为正确的结果展示。这个是系统的容错性,减少了用户输入错误或者自己记忆错误(不知道某个字怎么写,不知道单词怎么拼)引起的问题。
内部机制为同义词的判定。词库中存储的词不是孤立的,同时也有彼此之间的关联,这其中有关联词和同义词展示。词库在不停的搜索查询中,对于低搜索量高跳出的词会不停归并为高搜索量低跳出的词的关联词甚至同义词。
自动纠错也分类两种类型:一种是直接展示系统判定正确的结果;一种是展示判定正确的结果,但是顶部展示系统判定错误入口。其实第二种更好一些,可以防止系统判定错误,而不是直接褫夺用户的选择(Bing就属于第二种)。
4. 高亮显示对于搜索结果展示时候,需要对于用户的搜索词进行高亮处理,主要是为了表白搜索的依据,减少用户选择成本。内部原理是展示输入的原始文本和分词。
移动端如果搜索主体为文本内容的话,大部分产品也是保存了这种机制。但是内容主题非文本的搜索系统(商品,图片),高亮并没有太大意义。
5. 联想保举搜索的查询一般而言是多次查询的过程,在每次的查询过程中用户会不停的缩小范围或者搜索相关内容。实现机制是query的关联性,保举的逻辑也分为两种:一种是关联保举 ,保举相关的搜索词;一种是扩展保举,因为用户搜索的不够具体,会保举该搜索词更细的分类。好比下图右侧的人物和事件:
在移动时代手机屏幕资源比较紧张的情况下,一般不会直接列出来联想保举。但也有其他解决方案,好比在用户有必然浏览深度的时候进行联想保举。淘宝在15个商品之后会有搜索词的扩展保举,如下图所示:
7. 命中词定制下一篇:微信凭什么敢叫板苹果?