跳到主要内容

从模糊搜索到 AI RAG:商品搜索的三种演进思路

· 阅读需 9 分钟

商品搜索表面上是“用户输入一句话,系统返回一些商品”,但真实场景会复杂很多。

用户可能输入关键词:

苹果 手机

也可能直接表达需求:

推荐 5 款 2000 元以内的大存储苹果手机

这里面既有品牌、品类、价格、数量,也有“大存储”这种偏好。如果只靠关键词匹配,很容易漏掉用户真正想要的东西。

商品搜索通常可以分成三个阶段:

  • 模糊搜索:提供稳定、可控的检索和筛选能力
  • AI 结构化搜索:降低用户表达成本,提升搜索效率
  • AI 结构化 + 向量库搜索:解决语义召回和 RAG 回答

一、模糊搜索:稳定可控的基础搜索

模糊搜索不只是简单的关键词包含匹配。一个成熟的模糊搜索系统,本身也可以支持筛选、排序、分页、价格区间、品牌过滤、类目过滤等能力。

比如用户可以先搜索:

苹果 手机

再通过筛选条件缩小范围:

品牌:苹果
价格:2000 元以内
排序:价格从低到高
规格:大存储

这些能力并不依赖 AI。传统搜索系统完全可以通过规则、表单、筛选器和排序器完成,而且通常更稳定、更快、更可控。

模糊搜索的优点是:

  • 简单
  • 成本低
  • 可解释
  • 行为稳定
  • 适合承接确定性过滤和排序

它真正的问题不是“不能筛选排序”,而是用户必须用系统能理解的方式表达需求。

比如:

  • 用户要知道去哪里点价格筛选
  • 用户要把多个条件拆开输入
  • 用户要理解“排序”和“筛选”的区别
  • 用户要不断调整关键词,才能逼近想要的结果

所以模糊搜索不是能力弱,而是交互成本高。它适合做底层检索能力,但不一定是最高效的用户入口。

二、AI 结构化搜索:提升搜索效率

引入 AI 结构化搜索,主要不是为了证明传统搜索不行,而是为了让用户少操作几步。

用户不用再手动拆条件、点筛选、调排序,而是可以直接说完整需求。

例如:

推荐 5 款便宜点的苹果手机

可以被理解成:

信息含义
意图推荐
品牌苹果
商品类型手机
数量5
价格偏好便宜

这样,“5 款”就不再是关键词,而是返回数量;“便宜点”也不再是普通文本,而是排序偏好。

AI 在这里更像一个自然语言入口。它把用户一句话拆成系统可以执行的条件,再交给搜索、过滤和排序模块处理。

它提升的是:

  • 输入效率:用户一句话表达多个条件
  • 理解效率:系统自动识别数量、品牌、价格和偏好
  • 交互效率:用户可以继续追问和修改条件

比如用户上一轮说:

推荐几款苹果手机

下一轮只说:

便宜点

系统如果能理解上下文,就应该在上一轮“苹果手机”的基础上调整排序或价格偏好,而不是把“便宜点”当成一次全新的搜索。

这就是 AI 搜索真正有价值的地方:它让搜索从“用户操作筛选器”变成“用户和系统对话”。

但它仍然有边界:AI 负责理解和转译,不应该替代底层搜索逻辑。

比如用户说:

apple 手机

模型可能理解出品牌是 Apple。但如果商品数据里品牌存的是“苹果”,普通文本匹配仍然可能搜不到。

所以 AI 结构化解决的是“查询理解”,不是“语义召回”。

三、向量搜索:解决字面不同但意思接近

向量搜索关注的不是两个文本是否完全一样,而是语义是否接近。

它依赖 embedding。embedding 可以把文本转换成一组数字,也就是向量。语义越接近的文本,向量距离通常越近。

比如在商品搜索语境下:

  • 苹果手机
  • Apple 手机
  • iPhone 手机
  • 苹果品牌智能手机

这些表达字面不同,但语义接近,所以可能被映射到相近的向量空间。

向量库负责存储商品向量。搜索时,用户问题也会被转换成查询向量,然后系统去找距离最近的商品。

这就是为什么“Apple 手机”有机会召回“苹果手机”。不是因为系统建立了 Apple 等于苹果的硬规则,而是因为 embedding 模型认为它们在当前语境下相似。

四、RAG:让模型基于真实数据回答

当向量搜索和生成式 AI 结合起来,就形成了 RAG。

RAG 可以拆成三步:

阶段作用
Retrieval先召回相关商品
Augmented把商品作为上下文交给模型
Generation模型基于上下文生成回答

在商品搜索里,RAG 的重点不是让模型凭空推荐,而是让模型基于真实商品结果回答。

这点很重要。否则模型可能会编造不存在的商品、价格或规格。

RAG 的价值在于:召回由数据负责,表达由模型负责。

五、三种方案对比

方案核心能力优点局限适合场景
模糊搜索检索、筛选、排序快、便宜、可控、稳定用户交互成本较高基础搜索和硬条件过滤
AI 结构化搜索自然语言转查询条件输入效率高,支持追问依赖底层召回和规则执行多条件搜索、对话式搜索
AI + 向量搜索语义召回能处理同义词、跨语言、模糊表达不适合单独做硬过滤推荐、相似商品、开放式需求

可以简单理解为:

  • 模糊搜索解决“怎么稳定地查、筛、排”
  • AI 结构化解决“怎么让用户更快表达需求”
  • 向量搜索解决“意思像不像”

六、向量搜索不是万能的

向量搜索适合处理:

  • 相似商品
  • 模糊需求
  • 口语表达
  • 中英文混合
  • 同义词和近义词

但它不适合单独处理强约束:

  • 价格必须小于 3000
  • 品牌必须是苹果
  • 存储必须是 512GB
  • 只返回 5 条
  • 只看有库存的商品

这些条件应该交给确定性过滤,而不是完全依赖向量相似度。

更稳的方式是分层:

层次处理内容
硬过滤品牌、价格、库存、规格
软召回拍照好、轻薄办公、学生党
排序低价优先、旗舰优先、综合排序
生成推荐理由、差异解释、下一步建议

七、一个更完整的购物助手还缺什么

搜索只是第一步。真正好用的购物助手还需要补齐几类能力。

1. 完整意图处理

用户不只会搜索,还会筛选、排序、对比、追问、解释和重置。

比如:

便宜点

这不是一个全新的搜索,而是对上一轮结果继续筛选。

第二款和第四款比一下

这也不是重新搜索,而是基于上一轮结果做对比。

系统要能判断用户是在开启新任务,还是继续修改当前任务。

2. 上下文记忆

多轮购物对话需要记住三类信息:

  • 当前查询条件:品牌、价格、规格、数量
  • 上一轮结果:哪些商品排在第几位
  • 用户偏好:预算、品牌倾向、是否偏好大存储

有了这些记忆,系统才能理解“这个”“第二款”“再便宜点”“换个品牌”这类表达。

3. 条件继承和覆盖

用户连续输入时,系统要判断条件是新增、覆盖还是删除。

例如:

推荐苹果手机
2000 以内

这里应该继承“苹果手机”,追加“价格小于 2000”。

但如果用户说:

算了,看看小米

这更像是把品牌从苹果切换成小米。

4. 标准化

用户表达和商品数据经常不一致:

  • Apple、iPhone、苹果
  • 512G、512GB
  • 2k、2000 元、两千
  • 手机、智能手机

如果系统内部没有标准词表,查询会不稳定。

标准化的目标是:用户可以用不同方式表达,但系统内部尽量落到统一的品牌、类目、规格和价格结构。

5. 无结果降级

没有结果时,不应该只说“没找到”。

更好的回答是指出可能原因,并给出放宽建议:

没有找到 2000 元以内的大存储苹果手机。可以放宽到 3000 元以内,或者保留预算但改看其他品牌。

这比单纯报空更像助手。

6. 结果质量评估

AI 搜索不能只看回答是否流畅,还要看结果是否满足约束。

可以关注:

  • 价格有没有超预算
  • 品牌有没有跑偏
  • 规格是否满足
  • 排序是否合理
  • 推荐理由是否来自真实商品信息

RAG 的质量很大程度取决于召回和过滤,而不是最后那段文字。

八、推荐的演进路径

如果从零构建,可以按这个顺序推进:

  1. 先做模糊搜索,保证基础搜索可用。
  2. 加 AI 结构化,理解自然语言里的条件。
  3. 把品牌、价格、规格、库存交给硬过滤。
  4. 引入 embedding 和向量库,增强语义召回。
  5. 加上下文记忆,支持连续追问、筛选和对比。
  6. 补齐标准化、降级策略和结果评估。
  7. 最后用 RAG 把结果组织成自然语言回答。

每一步都解决一个明确问题,不要一开始就把所有复杂度堆在一起。

总结

商品搜索的演进,本质上不是简单地用 AI 替代传统搜索,而是在传统搜索的稳定能力上,补上自然语言交互和语义召回。

模糊搜索让系统稳定地完成检索、筛选和排序。

AI 结构化搜索让用户更快表达需求,并支持连续追问。

向量搜索让系统能找到语义相近的商品。

RAG 让模型基于真实商品结果组织回答。

职责边界要清楚:

  • 数据库和过滤器负责确定性条件
  • 向量库负责语义召回
  • 生成式模型负责理解意图和组织表达

这样系统才会既聪明,又可控。