「输入框搜索」的设计细节
共 1557字,需浏览 4分钟
·
2021-05-31 10:20
输入框搜索主要应用于搜索内容非标准化的场景,如名称、正文、编号这些无法通过确定条件进行查找的内容。
这其中涉及的细节设计问题有很多:
1)关键字搜索or语义搜索
(1)关键字搜索
关键字搜索是根据用户输入关键字进行检索,如用户输入“B端产品”,则系统会把搜索范围内所有包含“B端产品”这四个字的内容全部检索出来。关键字搜索是目前B端产品中最主要的检索方式。
(2)语义搜索
语义搜索是更为复杂的搜索方式,需要语义识别、语义匹配、用户习惯分析、智能排序等人工智能领域的技术支持,这种搜索方式在C端产品中用得较多,在B端产品中用得很少。
2)聚合搜索or分字段搜索
(1)聚合搜索
聚合搜索是指一个输入框,可以同时搜索多个字段内容。输入关键词“人人都是产品经理”,可以对名称、描述等多个字段进行检索匹配。优劣都比较明显。
优势:
搜索方便,一次能搜索大量数据;
用户无须记忆自己要搜索的关键字是哪个字段,可以减少用户的记忆成本。
劣势:
同时检索字段数据多,后台可能需要跨表检索(指同时从多张数据库表中检索),当搜索数据量大时,会导致搜索时间过长,影响用户体验,实现起来也比较麻烦。
搜索结果不够精确,如果只提供聚合搜索,对于用户清楚地知道搜索关键词在哪个字段的场景不友好。
(2)分字段搜索
随着时间推移,系统中的数据越积越多,用户也越来越熟悉产品,这时聚合搜索的不足所造成的困扰已大于它的优势所带来的便利了,所以聚合搜索看似方便,实则在B端产品中应用得并不多,在B端产品中更多的还是采用分字段搜索,将搜索精确到具体字段。
(3)综合形式
用户输入关键词的同时给出“全部”和其他可能需要搜索字段选项,由用户自由选择。综合形式可以综合两种方式的优点,同时也继承了两种方式的不足,还增加了实现难度,所以这种方式用得更少。
3)模糊匹配or精确匹配
(1)模糊匹配
模糊匹配是系统只需根据几个关键词,就会把含这个关键词的数据都显示出来,即使输入不完全,也能完成搜索。一般来说,B端产品都会采用模糊搜索的方式,因为这种方式的体验更好,但对于部分特殊场景,则需要采用精确匹配的方式。
(2)精确匹配
精确匹配是只有用户把搜索内容完整输入时,系统才能正确检索出用户所需结果。例如,用户要搜索“B端产品经理”,则必须完整输入“B端产品经理”才可搜索想要结果,如果只是输入“B端”两个关键字,是无法搜索的。
“精确匹配”会给用户带来较高的记忆成本,主要在三种特殊场景中会使用。
对接的第三方无法提供模糊搜索接口时。
搜索数据有保密性要求。在这种场景中,不能让用户随便输入一个关键词就进行匹配,会存在其他信息泄露的风险。例如,通过身份证号进行搜索时,用户必须输入完整身份证号信息才会进行匹配。
数据量非常大。这其实是一种“半精确匹配”,即当数据量非常大时,通过极少数的信息进行模糊匹配非常影响性能,检索起来非常慢,因为匹配的数据量很大,这时会要求用户输入较多内容才能进行搜索。
4)实时搜索or手动触发
(1)实时搜索
实时搜索是每输入一个字符就根据已输入内容进行搜索。这种方式很及时,能让用户及时看到结果,搜索体验会很好,但这种方式意味着用户会实时请求搜索接口,对接口造成一定压力,当使用人数较多时,容易出现系统报错,所以即使这种方式体验比较好,我们也很少采用。
(2)手动触发
手动触发则需要用户在输入完成后点击“搜索”按钮或“回车键”后进行搜索,这种方式虽然慢一点,但从实现成本角度来说性价比是更高的,对用户体验影响也不大,所以这种方式应用更普遍。