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

目录

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

相关推荐
sniper_fandc2 小时前
关于Mybatis-Plus的insertOrUpdate()方法使用时的问题与解决—数值精度转化问题
java·前端·数据库·mybatisplus·主键id
lang201509282 小时前
MySQL在线DDL:零停机改表实战指南
数据库·mysql
程序新视界3 小时前
MySQL的联合索引以及其最左前缀原则
数据库·mysql
奥尔特星云大使3 小时前
mysql 全备+binlog恢复数据
数据库·mysql·adb·数据恢复·全量备份·binlog日志·二进制日志
the beard3 小时前
Redis Zset的底层秘密:跳表(Skip List)的精妙设计
数据库·redis·list
William_cl4 小时前
【连载5】云数据库 MySQL 热点更新功能介绍
数据库·mysql
缘来如此095 小时前
mysql--核心日志文件详解
数据库·mysql
电商API_180079052475 小时前
电商数据分析之自动获取数据的技术手段分享
大数据·数据库·数据挖掘·数据分析
MilesShi5 小时前
RAG:解锁大语言模型新能力的关键钥匙
数据库·人工智能·语言模型