模块入门–搜索


  搜索能够帮助用户在海量的数据库中实现大海捞针,是产品最核心的模块之一。本篇是从设计的角度介绍搜索模块,包含Web和ios两个平台,下面直接开始正文:


  1.快速搜索

  搜索是帮助用户简单快速的匹配相关内容,最简单的search box主要包含两个元素:①文本框 ②按钮(可以隐藏用回车代替)

开发入门">
  快速搜索是最基本的搜索模型,用户输入文字点击按钮或直接回车即可完成搜索。

  2.垂直搜索

  如果搜索引擎明确只是在海量数据库中寻找一个特定的子集,那么这时候会使用到垂直搜索。垂直搜索主要元素包括:①文本框 ②按钮 ③标签或下拉框。

  ▎下拉框模式


  关于下拉框前置与后置,我在公司也与同事进行过讨论,有几种说法:

  ①.业务人员觉得: 下拉框前置会减少产品曝光量,增加商情和厂商的曝光量,这样的结果对网站来说弊大于利。(B2B网站类)

  ②技术控觉得:用户操作习惯是 鼠标→键盘输入→回车(搜索),如果下拉框后置就会打断这样连贯的操作。

  ③调研同类网站发现下拉框内容较少的时候前置,内容分类较多的时候后置。

  ▎标签模式


  标签模式比较适合独立的搜索框,相比下拉框模式更具有引导性。但视觉元素复杂,不太适合在页面内容较多的页面。淘宝首页的顶部的视觉元素已经显得杂乱了,但坚持这样做应该是为了最大化的推广天猫和兼容老用户的操作习惯。

  ios样式


  3.查询建议工具

  查询建议工具有好几种说法:提前键入(type-ahead)、搜索建议(suggest)或者自动填充(autofill),也可以称呼为实时搜索。主要目的基本上是为了减少用户输入和推广相关词组。下面直接看图例:


  ios样式


  4.关联搜索

  关联搜索主要用于地图路线搜索,我也不知道还有什么地方用的到,就简单介绍一下:


  5.高级搜索

  高级搜索是为了让搜索结果精确匹配,普遍应用与电子商务网站。通常的样式是一堆筛选条件+搜索按钮。


  因为iso平台上不存在下拉框控件的操作,所以ios平台上的高级搜索都是通过列表跳转的方式来实现高级搜索。


  6.过滤器

  大都数人都不喜欢使用高级搜索,为了精确匹配搜索结果页面,所以在结果列表页面都会添加过滤器。过滤器实际上就是对当前子集的二次搜索。过滤器的设计非常的讲究,以后的文章为重点讲解,本章就简单介绍一下:

  国内的网站因为考虑右侧卖banner广告位,过滤器都会放置在顶端位置:


  国外的习惯将过滤器放置在左侧,可以一般看图一边筛选:


  在ios平台上大都数应用都会设计快速搜索+过滤器的模型:


  7.Best bet

  best bet可以翻译为更好的选择,当产品运营一段时间后积累了一定规模的访问量,可以从访问数据中为用户提供更好的选择。看看相关网站是如何做到这一点的:


  8.搜索结果

  搜索的最终结果会以列表或橱窗的视图呈现,这是整个开发团队都希望看到的结果,但如果没有匹配的结果出现,设计人员还需要鼓励用户重新搜索或更换关键词:


  总结

  搜索是电商网站最最核心的一个模块,做好这个模块需要优秀的工程师和一定规模的访问量,但作为设计师也必须对这个模块有足够的了解,这样才能做出优秀体验的设计。

时间: 2024-12-25 00:02:16

模块入门–搜索的相关文章

Python中的Matplotlib模块入门教程_python

1 关于 Matplotlib 模块 Matplotlib 是一个由 John Hunter 等开发的,用以绘制二维图形的 Python 模块.它利用了 Python 下的数值计算模块 Numeric 及 Numarray,克隆了许多 Matlab 中的函数, 用以帮助用户轻松地获得高质量的二维图形.Matplotlib 可以绘制多种形式的图形包括普通的线图,直方图,饼图,散点图以及误差线图等:可以比较方便的定制图形的各种属性比如图线的类型,颜色,粗细,字体的大小等:它能够很好地支持一部分 Te

python中paramiko模块入门 一:ssh登录和执行命令

最近闲着学习python,看到有个paramiko模块,貌似很强大,学着写了个一个小程序,可以直接在window下登录到linux,执行并返回执行结果. 下面直接贴代码: #!/usr/bin/env python import paramiko #hostname='192.168.0.102' hostname='172.28.102.250' username='root' password='abc' #port=22 if __name__=='__main__': paramiko.

python中paramiko模块入门 四:从远程主机批量下载文件到本机

前面我们已经学习了paramiko的上传功能,这里就要给大家介绍下他的下载功能,呵呵,不废话了,直接上代码,感兴趣的可以研究下: [root@centos6 python]# cat paramiko-download.py #!/usr/bin/env python import paramiko import os import datetime hostname='74.63.229.*' username='root' password='abc123' port=22 local_di

python中paramiko模块入门 三:上传批量文件到远程主机

今天我继续给大家介绍paramiko这个模块的其他功能,主要介绍利用paramiko来上传文件到远程主机,呵呵,其实就是paramiko模块中put方法的介绍,下面不废话,直接上代码,大家感兴趣,可以看下: [root@centos6 python]# clear [root@centos6 python]# cat paramiko-upload.py #!/usr/bin/env python import paramiko import os import datetime hostnam

python中paramiko模块入门 二:利用配置文件登录批量主机

之前我写过一篇关于python中paramiko模块简单功能的文章,今天继续给大家介绍这个模块的一些用法. 今天主要是利用python读取配置文件来登录批量主机,并在主机上执行shell命令,废话不说了,直接上代码了,大家可以看看: #!/usr/bin/env python import paramiko import os import datetime from ConfigParser import ConfigParser ConfigFile='config.ini' config=

Nodejs基础:stream模块入门介绍与使用

本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 模块概览 nodejs的核心模块,基本上都是stream的的实例,比如process.stdout.http.clientRequest. 对于大部分的nodejs开发者来说,平常并不会直接用到stream模块,只需要了解stream的运行机制即可(非常重要). 而对于想要实现自定义stream实例的开发者来说,就得好好研究stream的扩展API了,比如gulp的内部实

老虎地图更名老虎宝典 完善搜索发现交通三模块

老虎宝典CEO 卓日克 和讯科技消息 11月6日,老虎地图日前宣布升级更名为老虎宝典,在原有功能基础上,增加了发现功能,构成了支撑整体服务的三大模块:搜索.发现.交通. 老虎宝典公司CEO卓日克表示:"地图确实已经不能完全代表我们的服务.老虎宝典的意义在于,不仅满足人们有明确需求下的场景,更重要的是帮助人们告别枯燥的生活."老虎宝典第一个版本于2009年推出,目前总用户数已经超过5000万. 据悉,发现模块主要面对人们只是感到生活有些单调乏味,但并不知道自己该干什么的场景.这种场景比有

python 3快速入门之模块化和类

  首先引用官方的一段话 Python 展现了"瑞士军刀"的哲学. 这可以通过它更大的包的高级和健壮的功能来得到最好的展现. 例如: xmlrpc.client 和 xmlrpc.server 模块让远程过程调用变得轻而易举. 尽管模块有这样的名字, 用 户无需拥有 XML 的知识或处理 XML. ? email 包是一个管理邮件信息的库,包括 MIME 和其它基于 RFC 2822 的信息文档. 不同 于实际发送和接收信息的 smtplib 和 poplib 模块, email 包包

NodeJS中的模块是单例的吗?

本文翻译自 Lazlojuly 的 are-node-js-modules-singletons. 本文从属于笔者的NodeJS入门与最佳实践中的NodeJS 基础系列文章,包括NodeJS 入门.NodeJS 模块导出与解析.NodeJS IOStream.NodeJS HTTPS这几部分. 笔者之前在使用require导入模块时,特别是在导入有状态的模块时,笔者会考虑其是否在多次导入情况下依然保持单例特性,或者说对于同一个文件在不同路径下导入时,是否能够识别为一致?本文即是对该特性进行解析.