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

目录

    • 核心概念解析
      • [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和非结构化数据的理想解决方案。

相关推荐
8Qi817 分钟前
Redis哨兵模式(Sentinel)深度解析
java·数据库·redis·分布式·缓存·sentinel
数据库小组20 分钟前
从业务库到实时分析库,NineData 构建 MySQL 到 SelectDB 同步链路
数据库·mysql·数据库管理工具·数据同步·ninedata·数据库迁移·selectdb
CDN36027 分钟前
CDN HTTPS 证书配置失败?SSL 部署与域名绑定常见问题
数据库·https·ssl
Chengbei1133 分钟前
一次比较简单的360加固APP脱壳渗透
网络·数据库·web安全·网络安全·系统安全·网络攻击模型·安全架构
寒秋花开曾相惜34 分钟前
(学习笔记)3.9 异质的数据结构(3.9.1 结构)
c语言·网络·数据结构·数据库·笔记·学习
mcooiedo44 分钟前
mybatisPlus打印sql配置
数据库·sql
wudl55661 小时前
MySQL 8.0.42 Docker 开发部署手册
数据库·mysql·docker
xhuiting1 小时前
MySQL专题总结(四)—— 高可用
java·数据库·mysql
kjmkq1 小时前
目工业级宽温SSD哪个品牌不掉盘最稳定?宽温环境下的稳定性性技术解析
数据库·存储
Predestination王瀞潞1 小时前
Java EE3-我独自整合(第二章:Spring IoC 入门案例)
数据库·spring·java-ee