向量索引技术详解:从基础概念到常见算法
一.向量索引1.什么是数据库中的向量在数据库中一个向量通常表现为一个浮点数数组(是对于数据的标识)。语义相近的对象其向量在空间中通常也更接近。例:[0.12, -0.98, 0.45, 0.67]2.常见距离度量(1)欧氏距离(距离越小越相似)d(x, y) sqrt(Σ(xᵢ - yᵢ)²)(2)曼哈顿距离(距离越小越相似)d(x, y) Σ|xᵢ - yᵢ|(3)余弦相似度(余弦相似度越大方向越接近。)cos(x,y) (x · y) / (|x| |y|)二.精确KNN与近似KNN1.暴力扫描:读取每个向量计算它与查询向量的距离维护当前最相似的K个结果。优缺点:这种方法结果准确但数据量大时速度较慢。如果有N个向量每个向量有D个维度计算成本大致为O(ND)2.近似最近较(ANN)ANN不保证返回绝对最优的结果但可以显著减少搜索时间。核心思想:牺牲少量召回率,换取更低的查询延迟三.向量索引的常见方法1.空间划分:把向量空间划分为多个区域2.局部敏感哈希(LSH)相似对象 → 大概率哈希到相同桶 不相似对象 → 大概率哈希到不同桶优点查询速度快;可用于高维近似搜索缺点需要多个哈希函数或多个哈希表;召回率和空间使用之间需要权衡;查询结果是近似的3.倒排文件索引(IVF)核心流程是使用聚类算法把向量分成多个簇(按照相似度分)每个簇保存一个中心点查询时先找距离最近的若干簇只在这些簇内部搜索。4.乘积量化(PQ)基本思想把一个高维向量拆成多个子向量为每个子空间建立聚类中心用聚类中心编号代替原始浮点数。优点大幅节省空间;减少内存访问;可使用近似距离计算缺点会损失精度;需要额外训练和构建过程5.HNSW-一种图索引它把向量看成图中的节点每个节点连接若干相近节点节点A ↔ 节点B ↔ 节点C搜索时从入口节点开始移动到距离查询向量更近的邻居到达当前层的局部最优位置进入下一层最后在底层进行更精细搜索。优点查询速度快;召回率通常较高;适合高维向量缺点内存占用较大;插入和删除成本较高;动态更新比普通B树复杂四.预过滤和后过滤1.预过滤:先过滤在进行向量检索优点搜索范围小;结果满足过滤条件缺点过滤条件选择性不好时效果有限;需要同时维护标量索引和向量索引2.后过滤:先向量检索在进行过滤五.反向索引1.概念:主要用于全文搜索,不保存文档-关键字,反过来保存关键字-文档例:数据库 → 文档1、文档2 索引 → 文档1、文档3 查询 → 文档2 优化 → 文档32.倒排列表:每一个词都对应一个倒排列表3.TF-IDF和相关性排序反向索引不仅用于判断文档是否包含关键词还要对结果排序。(1)TF词频.表示一个词在当前文档中出现的频率。(2)IDF:逆文档频率.用于降低常见词的权重(3) TF-IDF:试图衡量某词在文章当中的重要程度六.过滤器1.过滤器的主要用途不是返回完整结果而是快速判断某个元素一定不存在 或 某个元素可能存在如果过滤器说“不存在” → 一定不存在 如果过滤器说“存在” → 可能存在需要进一步检查2.Bloom Filter(1)概念:Bloom Filter由一个位数组;多个哈希函数组成(2)插入元素用多个哈希函数计算多个位置将这些位置设为1。(3)查询元素计算相同的多个位置如果其中一个位置为0则元素一定不存在如果全部为1则元素可能存在。优点空间占用很小;查询速度快;适合判断“不存在”;不保存完整元素缺点存在假阳性;不支持精确删除;插入越多误判率越高;必须合理选择位数组大小和哈希函数数量(4)为什么该过滤器不能直接删除假设元素A.B都将5号位置设置为1,删除A时将5号位置请0,此时B任然有可能存在3.Cuckoo Filter:通常使用类似Cuckoo Hashing的思想保存元素指纹完整键 → 短指纹 fingerprint优点支持删除;查询速度快;某些情况下比Bloom Filter更灵活缺点仍然可能出现假阳性;高装载率下插入可能失败;需要处理元素迁移4.过滤器在数据库当中的用途(1).避免无意义的磁盘读取查询 key 100 → 过滤器判断该页一定没有100 → 不读取该页(2) LSM树中的SSTable,读取某个键时可以先查询每个SSTable的Bloom FilterSSTable A一定不存在 SSTable B可能存在 SSTable C一定不存在只读取B避免扫描A和C。(3)分布式系统中的远程访问优化如果过滤器判断某个节点一定没有数据就不必发起网络请求。七.三类索引的对比附

相关新闻

深度解析吴江城乡建设局网站如何成为市民获取最新房产政策与工程招标信息的权威首选入口

深度解析吴江城乡建设局网站如何成为市民获取最新房产政策与工程招标信息的权威首选入口

在这个信息爆炸的时代,无论是想要安居乐业的普通市民,还是在市场浪潮中搏击的建筑行业从业者,甚至是关注区域经济发展的投资者,大家脑海中浮现的第一个动作往往是打开搜索引擎,输入关键词,寻找那个最权威、最及时、最准确的信息源。对于生活在苏州吴江这片热土上的人们来…

2026/8/11 13:53:21 阅读更多 →
Vibe Coding:非程序员用自然语言开发AI应用的入门指南

Vibe Coding:非程序员用自然语言开发AI应用的入门指南

1. 项目概述:一本写给所有人的AI开发手册 最近几年,AI技术,特别是大语言模型,已经从实验室的尖端科技,变成了我们身边触手可及的工具。但一个普遍的困境是:很多有想法、有业务需求的朋友,并非计…

2026/8/11 13:49:43 阅读更多 →
如何解读大模型基准测试分数:从Opus 5的59%得分到实战选型

如何解读大模型基准测试分数:从Opus 5的59%得分到实战选型

1. 先搞清楚这个“59%”到底意味着什么 看到“Epoch AI 新基准测试 Opus 5 得分 59%”这个标题,很多人的第一反应可能是:这个分数是高是低?它和GPT-4、Claude 3比怎么样?这个测试到底测了什么? 别急着找排名表。这个分…

2026/8/10 8:52:49 阅读更多 →

最新新闻

终极指南:如何用猫抓插件一键下载网页视频资源

终极指南:如何用猫抓插件一键下载网页视频资源

终极指南:如何用猫抓插件一键下载网页视频资源 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法保存网页中的精彩视频而烦恼吗…

2026/8/11 13:53:13 阅读更多 →
OpCore-Simplify:现代黑苹果EFI配置的智能化解决方案

OpCore-Simplify:现代黑苹果EFI配置的智能化解决方案

OpCore-Simplify:现代黑苹果EFI配置的智能化解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 对于黑苹果爱好者而言,Op…

2026/8/11 13:53:13 阅读更多 →
微搭低代码平台在订单管理系统中的实践与优化

微搭低代码平台在订单管理系统中的实践与优化

1. 项目背景与核心价值 去年帮某商学院落地MBA培训管理系统时,订单管理模块的混乱让我印象深刻——销售用Excel登记、财务用金蝶核对、教务用纸质单据确认,三套系统间的数据断层导致每月对账平均要耗费72个人工时。这正是我们选择在微搭低代码平台上重构…

2026/8/11 13:53:13 阅读更多 →
Dart语言在Flutter与OpenHarmony开发中的核心作用与优化实践

Dart语言在Flutter与OpenHarmony开发中的核心作用与优化实践

1. 为什么Dart对FlutterOpenHarmony如此重要? 在移动应用开发领域,Flutter框架因其跨平台特性而广受欢迎,而OpenHarmony作为新兴操作系统平台,二者的结合为开发者提供了更广阔的应用场景。Dart语言作为Flutter的官方开发语言&…

2026/8/11 13:53:13 阅读更多 →
Unity引擎打造汽车3D智能座舱:技术实现与性能优化全解析

Unity引擎打造汽车3D智能座舱:技术实现与性能优化全解析

1. 项目概述:当汽车座舱变成一个可探索的虚拟世界最近,汽车圈和游戏引擎圈的交集地带,发生了一件挺有意思的事。吉祥汽车在泰国市场搞了个大动作,发布了一款新车,但最吸引我注意的,不是它的续航或马力&…

2026/8/11 13:53:13 阅读更多 →
Electron实现字符串转图片的完整方案与优化实践

Electron实现字符串转图片的完整方案与优化实践

1. 为什么Electron需要字符串转图片功能? 在桌面应用开发中,我们经常遇到需要将文本内容转换为图像的场景。比如生成分享海报、保存聊天记录为图片、导出报表数据等。Electron作为跨平台桌面应用开发框架,实现这个功能尤为实用。 最近接手一…

2026/8/11 13:52:12 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →