
默认选择通常就是对的
当顾客不用你的词时,关键词搜索就失效了。有人输入"不会皱的衬衫",而你的目录写的是"免烫"。语义搜索通过比较含义而非字符,来弥合这个缺口。
第一反应往往是引入专用向量数据库。但对大多数商品目录和文档集来说,PostgreSQL 的 pgvector 扩展就够了,而且它有一个容易被低估的优势:向量和你的数据处在同一个事务里。
为什么这点重要
当某个商品缺货时,一个事务同时更新数据行和它的向量。换成独立的向量存储,你就多了一个同步问题,而过期向量这类 bug,通常不是以错误日志的形式出现,而是以客户投诉的形式出现。
什么时候确实该升级
专用向量数据库在超大规模、高并发查询负载,或需要 Postgres 不提供的索引类型时才开始回本。这是一条真实的门槛,到了就该跨过去。但大多数在问这个问题的团队,离那条线还很远。
几点实务提示
- 把原文和向量存在一起,这样才能展示引用来源。
- 更换嵌入模型后要重新生成向量。不同模型的向量之间无法比较。
- 语义搜索和关键词搜索并用。商品编码的精确匹配,永远不该输给模糊的语义匹配。
ToolGo Team
产品与工程
我们构建实用的SaaS工具,并分享我们的学习——从产品决策到技术深度剖析。

