3步阐述搜索框做了什么事情

server/2024/10/18 18:14:07/

搜索功能是几乎每个产品的通用标配功能,一个看似简单的搜索框背后,其实隐含了大量的设计思考和技术壁垒。本文将从三个部分阐述,为何搜索框并不简单。

本文将从搜索场景的思考、基于步骤的搜索设计以及搜索数据的追踪3个部分,对产品内部搜索设计的主要思路和常见的搜索规则做个简单的分享。

Part 1:搜索场景的思考

在设计搜索之前首先需要思考的问题是:谁在什么场景下会使用搜索功能?他想搜什么?

不同的产品有不同的答案,举几个例子:

1. 小红书

小红书的定位是生活方式分享社区,旗下设立了电商平台“小红书商城”作为变现业务,所以小红书的核心布局:社区+电商。

所以对小红书有认知的用户,主要在如下几种场景下有搜索诉求:

    想了解生活达人们对某类商品的推荐、评价;
    想在小红书商城购买某类商品;
    想关注某位达人。

由此,可以确定,小红书搜索范围在社区内容、商品、用户。从小红书搜索结果页TAB的分类看,也是按照这3类进行的划分,其中“全部”其实就是UGC社区内容。


 图1:小红书搜索结果首图

2. 网易严选

网易严选的定位是原创生活类自营电商,是一个纯电商平台,所以用户搜索诉求很单一:找到想要的商品。所以纯电商平台的搜索范围只局限于商品。

 图2:网易严选搜索结果主页

3. 知乎

知乎的定位是网络问答社区,连接各行各业的用户,用户分享着彼此的知识、经验和见解。

所以知乎用户的主要搜索诉求是:

    找到想了解的经验、内容;
    找到想关注的知识咖。

图3:知乎搜索结果主页

我们看知乎搜索的模块设计,虽然分为用户、话题、想法、专栏、电子书等分类。但是从本质上仍然分为:人和内容两部分。话题、想法、专栏、电子书等都属于内容一类,只是不同的内容形态、业务形态而已。

大多数情况下,会使用搜索功能的用户,主要是产品的老用户,对产品的基本内容和服务有一定的了解,并且有着非常明确的自身诉求。在这种场景下,如果用户能检索到自己想要的内容或服务,必将会产生很高的转化。

所以,搜索功能的重要性,不言而喻。

Part2:基于步骤的搜索设计

搜索最关键的是模糊匹配和知识图谱,至于如何实现,其实涉及到很多技术环节的研究。不过大多中小型公司都没有自己的算法团队,所以好多会选择第三方搜索引擎,例如:opensearch等。

不过作为产品,我们至少要提出我们需要满足的场景和基本规则,也有助于选择合适的第三方搜索引擎。在这部分,主要分享的就是:产品经理应该考虑到的搜索基本场景和规则。

看起简单的搜索动作,其实蕴含了几个复杂的步骤。因此,从产品设计上,需要按照步骤进行拆解,分别说明。

第1步:输入关键词

输入关键词这步主要考虑的包含2部分:关键词识别和关键词推荐。

(1)关键词识别

对于输入关键词的识别上,通常要考虑以下几种情况的搜索需求:

1)多字符串识别

假设用户提交了不只一个查询串,那么搜索引擎需根据分隔符,比如:空格、标点符号,将查询串分割成若干子查询串。例如:用户输入“气垫 粉底 BB” 和“气垫、粉底、BB” ,会展示所有包含“气垫” 或“粉底”或 “BB” 三个关键词的商品,而非同时包含这三个关键词的商品。

根据下图我们看到,小红书和网易考拉都做了这种识别。不论输入空格还是逗号,查询结果都是一致的。

2)分词

除了多查询串的识别,对长查询串的分词识别也是搜索最基础的要求之一。分词就是当用户提交了一个长字符串,可根据词义分割成若干字符串。例如:用户输入“遮瑕气垫粉底bb霜”,能拆分成“遮瑕” 、“气垫” 、“粉底”、 “bb霜”几个词串进行匹配,而不是只匹配与搜索词串完全相同的结果。

3)错别字识别

用户在搜索时输入错别字也是不可避免的情况。例如:用户搜索“永衣”,能给用户按“泳衣”关键词进行推荐。

4)同义词近义词

为了最大可能覆盖用户想要的结果,可建立一个同义词近义词的词库,当没有完全符合搜索词的结果时,可推荐近义词或同义词的搜索结果,例如:在考拉中,用户搜“花露水”,系统推荐了“驱蚊”关键词的结果,并推荐了另2个相关关键词。

5)重复内容识别

假设用户提交的查询有重复的内容,可将重复查询归并成一个处理。例如:“遮瑕气垫粉底bb粉底”,能去重分词为:“遮瑕、“气垫”、“粉底”、“bb”。

6)英文字母数字识别

查询串中包含英文字母或数字,将英文或数字作为一个整体保留,做模糊匹配。例如:“sulwhasoo面膜”被拆分为“sulwhasoo”“面膜”。

(2)关键词推荐

关键词推荐通常包含历史搜索和热门搜索的推荐。

1)历史搜索

历史搜索词就是推荐用户自己最近搜索过N个关键词,避免用户重复输入,支持用户手工清空。

2)热门搜索

热门搜索一般有两种做法:

    一是根据用户搜索的关键词热度进行排序,获取真实的热门关键词进行推荐;
    二是受商业价值驱动,推荐从商业角度,最希望用户搜索查询的内容。这会有一个供运营配置的后台,由运营人工配置。

当然也可以综合以上两种方式,兼而有之。

第2步:确定关键词

确定关键词为了帮助用户用最小的成本获取最准确的关键词,关键词联想也是搜索的基本功能。

联想关键词一般来自两个渠道:

    一是所有用户历史热搜的关键词;
    二是自建的常用关键词库。

当用户输入的关键词被包含匹配到以上两类关键词时,则被列入联想词列表。

 

第3步:搜索结果

(1)检索范围

搜索范围的规则制定也是搜索设计最基础的环节,是决定用户搜索关键词跟什么内容去做匹配的问题。同时,影响到搜索权重。

跟什么内容做匹配,也取决于用户搜索场景的分析。例如:用户想搜索的是商品,则应该跟商品属性做匹配,那具体是哪些属性,优先级如何,就是需要制定的规则。

商品而言,可以跟商品名称、商品关键词、商品详情等属性进行匹配,且商品名称的权重>商品关键词>商品详情。

有的平台可能没有商品关键词库,商品详情也用纯图片展示,那就只跟商品名称做匹配,所以具体匹配的属性需根据不同的实际情况而定。

(2)呈现方式

对搜索结果的呈现方式也是值得研究的点,同样需要从用户发起搜索的场景思考。

还是以小红书为例:用户的搜索需求有三种,搜索内容、商品、用户。如果用户从商城搜索,那搜索结果默认定位至商品列表是最符合场景的。同理,如果用户从社区进入搜索,那默认定位至社区内容TAB

但是有的产品首页是一个综合页,包含了所有内容模块,如果用户是从首页搜索,那在不清楚用户想搜索的到底是哪一部分内容的情况下,需定位至综合结果页。综合结果页会罗列出几部分中相关性最高的几个搜索结果供用户选择,综合结果的设计可以参考微信搜索结果页。

第4步:细化筛选

通常在搜索结果里,都会默认按照相关度排序。但是也允许用户按需从其它维度进行排序筛选,可筛选的条件跟搜索结果所属的特性强相关。例如:如果是商品列表,那可以考虑根据商品的价格、分类、销量、功能等排序。如果是一个平台电商,那还可以根据品牌等进行筛选。

除了考虑商品本身的属性进行筛选外,还要从商业利益的角度,把最想展示给用户的商品组合成一个分类,方便用户删选,例如:考拉的分类中,加入了“618”活动商品、考拉自营等分类。

Part 3:搜索数据的跟踪

数据驱动产品,是做任何产品都需要具备的意识。搜索也不例外。搜索上线后,我们需要监控哪些数据来帮助我们不断优化搜索功能呢?

1. 用户搜索路径及漏斗转化

主要监控用户是从哪里进入搜索的?搜索后有点击搜索结果吗?有完成最终转化吗?用户的路径能帮助我们检验搜索结果是不是用户想要的?

此外,如果用户在某个搜索入口高频搜索某个关键词,也可以帮我们反思搜索入口所在页面的设计,是不是没有满足用户某个痛点。

2. 关键词搜索数据监控

用户在产品下留下任何行为数据都是有意义的。搜索过的关键词更是如此。关键词代表了用户对产品最直接的诉求,不论关键词最终的搜索结果如何,都值得被记录。并定期拉出来,进行分析。

分析的结果不仅能帮助搜索的优化,还能反推运营、业务进行改进。例如:如果一个电商平台,5月份开始用户搜索“花露水”及类似驱蚊类商品的搜索增加,而平台在驱蚊产品上没有充足的备货,那就可以推动对驱蚊类商品的采购。

3. 搜索结果为空的数据监控

搜索结果为空的关键词,最能反映用户对产品的期待,但是却未达成所愿的那部分产品缺憾。所以,专项存储记录搜索为空的关键词,及关键词的搜索热度也是非常必要的,可以帮助我们不断弥补产品的不足。

综上,是对产品内部搜索功能设计思路的简单总结。希望能大家带来一定帮助。

来源:本文由 @菜花 原创发布于人人都是产品经理


http://www.ppmy.cn/server/93273.html

相关文章

这两个大龄程序员,打算搞垮一个世界软件巨头!

大家都知道,Adobe是多媒体和数字内容创作者的绝对王者,它的旗下有众多大家耳熟能详的软件:Photoshop、Illustrator、Premiere Pro、After Effects、InDegign、Acrobat、Animate等等。 这些软件使用门槛很高,价格昂贵,安…

猫头虎分享:9个实用的GPT-4o提示词

🎉 猫头虎分享:9个实用的GPT-4o提示词 摘要 在这篇文章中,猫头虎将与大家分享9个非常实用的GPT-4o提示词。这些提示词涵盖了从草图到App代码生成、通用网络爬虫到求职助理等多个领域。我们将深入探讨如何利用这些提示词提升工作效率和创作能…

【包邮送书】码农职场:IT人求职就业手册

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

力扣面试(五)

给你一个整数数组 nums 和一个整数 k 。 每一步操作中,你需要从数组中选出和为 k 的两个整数,并将它们移出数组。 返回你可以对数组执行的最大操作数。 输入:nums [1,2,3,4], k 5 输出:2 解释:开始时 nums [1,2,3…

我出一道面试题,看看你能拿 3k 还是 30k!

大家好,我是程序员鱼皮。欢迎屏幕前的各位来到今天的模拟面试现场,接下来我会出一道经典的后端面试题,你只需要进行 4 个简单的选择,就能判断出来你的水平是新手(3k)、初级(10k)、中…

Redis常见的数据类型及操作方式

一、通用命令 1)获取redis中所有key keys * 2)删除一个或多个key del key1 key2 ... 3)判断key是否存在 exists key 4)给key添加过期时间 expire key time 5)查看key剩余过期时间 ttl key 6) 查看redis内存…

Java高并发编程详解教程(对高并发更深一层的领悟和体会 电子版)

前言 第一部分主要阐述Thread的基础知识,详细介绍线程的API使用、线程安全、线程间数据通信以及如何保护共享资源等内容,它是深入学习多线程内容的基础。 在第二部分中之所以引人 ClassLoader,是因为 ClassLoader 与线程不无关系&#xff0…

针对datax-web 中Swagger UI接口未授权访问

application.yml 添加以下配置 实现访问doc.html 以及/v2/api-docs 接口时需要进行简单的校验 swagger:basic:enable: trueusername: adminpassword: 12345 配置重启后再进行相关访问则需要输入用户名和密码