向量数据库的几个核心概念

目录

    • 核心概念解析
      • [1. 向量嵌入(Vector Embeddings)](#1. 向量嵌入(Vector Embeddings))
      • [2. 相似性搜索(Similarity Search)](#2. 相似性搜索(Similarity Search))
      • [3. 距离度量(Distance Metrics)](#3. 距离度量(Distance Metrics))
      • [4. 索引(Indexing)](#4. 索引(Indexing))
      • [5. 最近邻搜索(k-NN Search)](#5. 最近邻搜索(k-NN Search))
      • [6. 元数据过滤](#6. 元数据过滤)
      • 7.混合搜索
    • 综合应用场景
    • 核心要点

核心概念解析

1. 向量嵌入(Vector Embeddings)

将非结构化数据(如文本、图像)转换为数值向量的过程,这些向量在数学空间中保留了原始数据的语义关系。

应用示例:

  • 电商搜索:将"轻薄笔记本电脑"转换为0.8, -0.2, 0.6,...等高维向量
  • 相似商品:"便携式电脑"的向量位置相近,"重型机械"的向量相距较远

2. 相似性搜索(Similarity Search)

在向量空间中查找与查询向量最相似的向量,而非精确匹配。

python 复制代码
# 用户搜索"适合商务人士的轻薄笔记本"
query_vector = embed("商务轻薄笔记本")
# 返回结果:MateBook X Pro, ThinkPad X1, MacBook Air等相似产品
# 即使商品标题中不含完全相同的词汇

3. 距离度量(Distance Metrics)

衡量向量间相似度的数学方法:

  • 余弦相似度:关注向量方向
  • 欧几里得距离:向量间的直线距离
  • 内积相似度:向量点积运算
python 复制代码
# 音乐推荐系统示例
用户A喜欢歌曲X → [0.9, 0.1, 0.8]
歌曲Y → [0.85, 0.15, 0.75] (相似度0.95⭐)
歌曲Z → [0.2, 0.9, 0.1] (相似度0.25❌)

4. 索引(Indexing)

高效搜索的数据结构,避免暴力检索:

  • HNSW:分层导航网络
  • IVF:先粗分组再精细搜索
  • PQ:向量压缩技术
python 复制代码
# 十亿级图片搜索对比
无索引:遍历10亿张 → 数小时
HNSW索引:检查数千张 → 毫秒级

5. 最近邻搜索(k-NN Search)

查找与查询向量最相似的k个向量。

python 复制代码
# 智能客服示例
用户问:"订单为什么没发货?"
返回:
1. "订单发货查询"(0.95)
2. "物流延迟通知"(0.89)
3. "取消订单流程"(0.76)

6. 元数据过滤

python 复制代码
# 电商搜索示例
向量数据库.搜索(
    查询向量=embed("红色连衣裙"),
    过滤条件={
        "价格": [100,500],
        "品牌": ["ZARA","H&M"],
        "评分": ">=4.0"
    }
)

7.混合搜索

python 复制代码
# 知识库搜索
混合搜索(
    向量查询=embed("数据库连接配置"),
    关键词查询="MySQL 连接池",
    权重=[0.7, 0.3]
)

综合应用场景

法律文档检索系统

python 复制代码
# 1. 向量嵌入
法律条文 = {
    "合同法第107条": embed("不履行合同义务..."),
    "刑法第264条": embed("盗窃公私财物...")
}

# 2. 处理查询
查询向量 = embed("租客不交租金怎么办?")

# 3. 搜索
结果 = 向量数据库.搜索(
    查询向量=查询向量,
    距离度量="余弦相似度",
    k=3,
    索引类型="HNSW"
)

# 4. 返回
["租赁合同纠纷处理", "违约责任条款", "民事诉讼法第119条"]

跨模态搜索

python 复制代码
# 文字搜图片
查询向量 = 文本编码器("夕阳下的海滩椰子树")

图片结果 = 向量数据库.搜索(
    查询向量=查询向量,
    k=10,
    过滤条件={"类型": "图片", "版权": "可商用"}
)

核心要点

  1. 向量嵌入是语义转换的基础
  2. 相似性搜索实现意思匹配
  3. 高效索引支撑海量数据检索
  4. 距离度量定义相似标准
  5. 元数据过滤提升搜索精准度

这些特性使向量数据库成为处理AI和非结构化数据的理想解决方案。

相关推荐
isNotNullX26 分钟前
智能问数技术路线怎么选?从Text-to-SQL到Data Agent一次讲清
数据库·oracle
鸽芷咕28 分钟前
换库不申请停机窗口?金仓KFS数据集成软件双轨并行,还真行
数据库
鸽芷咕39 分钟前
月底报表又把库拖垮了?聊聊金仓数据库KES的列存储和真本事
数据库
Juicedata41 分钟前
面向 EB 级 AI 存储:JuiceFS 企业版架构演进
数据库·人工智能·架构
数据库小学妹1 小时前
MySQL表碎片与 OPTIMIZE TABLE:空间回收的代价与边界
数据库·后端·mysql
java_logo1 小时前
Docker 部署 Hue:轻松搭建数据库与数据仓库 SQL 查询平台
数据库·数据仓库·sql·docker·hue·部署教程·轩辕镜像
Davina_yu1 小时前
1、count(*)、count(1) 和 count(单个字段) 的区别
数据库
锦衣夜行?1 小时前
Oracle 数据库安装失败清理残留步骤
数据库·oracle
时间售卖铺1 小时前
MySQL 表的约束
运维·数据库·mysql·云原生
一条泥憨鱼1 小时前
【Redis | 黑马点评】基于Redis的消息队列 | stream消息队列 源码解读
java·数据库·redis·缓存·lua