一句话定义

向量检索(Vector Search) 指把数据(图片、文本、音频)通过模型转成高维向量,再在向量集合中按距离找出与查询最相似的若干项。

为什么需要它

传统数据库按精确字段查询(等于、大于、包含)。但「这张图里是什么商品」这类问题没有精确字段可比——需要的是相似度。向量检索把「相似」变成了可计算的距离。

核心流程

建库:图片 → 特征提取模型 → 向量 → 写入向量库
查询:查询图 → 同一模型 → 向量 → 最近邻搜索 → Top-K 结果

关键点:建库和查询必须用同一个特征提取模型。换模型等于换了一套坐标系,旧向量全部失效。

常见索引与算法

  • 暴力检索(Flat):逐个比对,最准但最慢,适合小规模
  • IVF(倒排文件):先聚类再在最近的簇里找,速度与精度的折中
  • HNSW:图索引,查询快,内存占用较高
  • 乘积量化(PQ):压缩向量省内存,精度有损失

端侧场景的约束

  • 库规模小:单店商品库通常几百到几千条,不需要分布式
  • 内存受限:嵌入式设备要控制索引体积
  • 离线可用:不能依赖云端服务
  • 一致性:底库更新要能即时生效

因此端侧常选轻量本地向量库(扁平或 IVF),而非云端大规模向量服务。

与以图搜图的关系

以图搜图是向量检索最直观的应用:用户给一张图,系统在库中找出最相似的商品/人脸/车辆。它是无条码商品识别、安防人物检索、跨镜追踪的共同底座。


火眼识别采用「检测 + 特征提取 + 本地向量检索」链路,见 火眼识别官网。