尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
向量数据库Milvus: 索引类型(三)
一、为什么需要索引没有索引时Milvus 会做暴力搜索FLAT把查询向量和 Collection 里每一个向量都算一遍相似度然后排序取 Top-K。这种方式精度 100%但速度随数据量线性下降。100 万条数据可能还能忍1 亿条就完全不可用了。索引的核心思想是用少量精度损失换取大幅速度提升。二、Milvus 支持的索引类型1. FLAT暴力索引原理不做任何预处理查询时遍历所有向量。特性说明精度100%速度慢随数据量线性下降内存等于原始向量大小适用场景数据量小10万或需要 100% 精度index_params { index_type: FLAT, metric_type: COSINE }2. IVF 系列倒排文件索引原理先用聚类算法把所有向量分成nlist个簇查询时只搜索最近的nprobe个簇。索引说明IVF_FLAT基础版簇内用 FLAT 搜索IVF_SQ8标量量化内存减少 75%IVF_PQ乘积量化内存大幅减少精度有损关键参数参数说明建议值nlist聚类簇数4 × sqrt(N)N 是数据量nprobe查询时搜索的簇数nlist的 1%-10%index_params { index_type: IVF_FLAT, metric_type: COSINE, params: {nlist: 128} } # 查询时 search_params { metric_type: COSINE, params: {nprobe: 16} }nprobe 的权衡nprobe越大 → 精度越高速度越慢nprobe越小 → 精度越低速度越快3. HNSW原理构建一个多层图结构查询时从顶层开始逐层向下搜索类似“跳表”的思想。特性说明精度高通常 95%速度快毫秒级内存较大需要存储图结构适用场景高并发、低延迟场景关键参数参数说明建议值M每个节点的最大连接数16-64efConstruction构建时的搜索范围100-500ef查询时的搜索范围50-200index_params { index_type: HNSW, metric_type: COSINE, params: {M: 16, efConstruction: 200} } # 查询时 search_params { metric_type: COSINE, params: {ef: 100} }ef 的权衡ef越大 → 精度越高速度越慢ef必须 ≥limit返回数量4. DiskANN磁盘索引原理基于磁盘的图索引适合超大规模数据十亿级。特性说明精度高速度中等受磁盘 IO 影响内存低数据存在磁盘适用场景超大规模、内存受限index_params { index_type: DISKANN, metric_type: COSINE, params: {} }5. SCANNGoogle 的索引特性说明精度高速度快适用场景大规模、高精度要求6. GPU 索引Milvus 支持 GPU 加速的索引类型索引说明GPU_IVF_FLATGPU 版 IVF_FLATGPU_IVF_PQGPU 版 IVF_PQGPU_CAGRANVIDIA 的图索引适用场景极高吞吐量、可接受 GPU 成本。三、索引类型对比索引精度速度内存构建速度适用场景FLAT100%慢高快小数据、高精度IVF_FLAT高中中中通用场景IVF_SQ8中高中低中内存受限IVF_PQ中快极低慢超大规模HNSW高快高慢高并发低延迟DiskANN高中极低慢十亿级数据GPU_CAGRA高极快高中高吞吐场景推荐索引原因原型开发FLAT简单、精度高中小规模通用IVF_FLAT平衡精度和速度高并发低延迟HNSW查询快内存受限IVF_SQ8 / IVF_PQ压缩向量十亿级数据DiskANN磁盘存储极致吞吐GPU_CAGRAGPU 加速备注索引参数nprobe、ef需要在精度和速度之间调优五、索引的创建与管理1. 创建索引# 创建 HNSW 索引 client.create_index( collection_namedocuments, index_params{ index_type: HNSW, metric_type: COSINE, params: {M: 16, efConstruction: 200} } )2. 查看索引# 查看索引信息 indexes client.list_indexes(collection_namedocuments) print(indexes) # 查看索引详情 index_info client.describe_index( collection_namedocuments, index_namevector ) print(index_info)3. 删除索引client.drop_index( collection_namedocuments, index_namevector )六、索引与召回率的关系召回率 检索到的相关结果数 / 所有相关结果数FLAT召回率 100%但慢索引召回率略降但速度大幅提升原则召回率降低是可控的通过调整参数可以让召回率接近 100%同时保持高速。
RELATED

相关推荐

说好底片全送精修30张,交片时只剩15张?用轻虾导出微信聊天记录留证,摄影约拍留痕攻略 + 6 大避坑

说好底片全送精修30张,交片时只剩15张?用轻虾导出微信聊天记录留证,摄影约拍留痕攻略 + 6 大避坑

约拍这件事,从询价到拿片少则两周、多则两三个月,中间几乎全靠微信推进:套系里含什么、底片给多少张、精修几张、加片怎么算钱、外景改期怎么定、什么时候交片。问题在于,这些约定往往散落在几十次对话里,有的在询价时…

📅 2026/9/24 17:40:29
全局可控与精细化分类:知源AI分级系统赋能教育数据治理落地方案

全局可控与精细化分类:知源AI分级系统赋能教育数据治理落地方案

一、方案概要:AI驱动教育数据精细化治理,实现全域可控与高效落地提示:本方案基于教育数据治理合规要求与业务痛点,依托AI技术构建全流程治理体系,实现数据管控、治理效率、分类精度的三维升级。随着教育数字化深度落地…

📅 2026/9/24 17:35:26
全局可控与精细化分类:知源 AI 分级系统赋能教育数据治理落地方案

全局可控与精细化分类:知源 AI 分级系统赋能教育数据治理落地方案

一、方案概要:AI驱动教育数据精细化治理,实现全域可控与高效落地提示:本方案基于教育数据治理合规要求与业务痛点,依托AI技术构建全流程治理体系,实现数据管控、治理效率、分类精度的三维升级。随着教育数字化深度落地…

📅 2026/9/24 17:35:26
MORE NEWS

更多资讯

📰

Ubuntu系统运行AppImage全指南:从libfuse报错到高效使用

先别急着双击那个.AppImage文件,因为大概率你会看到两种情况:要么鼠标点了没反应,要么终端里甩给你一行error loading libfuse.so.2。这个格式在Ubuntu上跑起来确实有一点门槛,但背后的逻辑其实特别简单,搞懂之后&…

📰

零基础学网络安全:从加密、防火墙到日志分析的五大入门技术

1. 先说结论:网络安全没有想象中那么难,难的是没找对入门顺序很多人一听到"网络安全技术"这六个字,脑子里浮现的是黑色终端窗口、飞快滚动的代码、戴着兜帽的神秘人,于是下意识觉得自己学不了。我接触这个领域十几年&am…

📰

Ubuntu 运行 AppImage 指南:从权限到 FUSE 依赖一次讲透

遇到.AppImage双击没反应?这份 Ubuntu 运行指南请收好如果你最近刚从官网下载了一个 Linux 软件,发现它既不是.deb也不是.tar.gz,而是一个名字结尾是.AppImage的文件,双击之后却没有任何反应——别急着怀疑系统坏了。这可能是你第…

📰

承认平庸,是普通人回报率最高的思维转换

把“承认平庸”当成一笔生意来算,是我这几年做得最值的一次思维转换。过去我拼命想证明自己不普通,怕被贴上“平庸”的标签,怕落后、怕被淘汰,结果该熬的夜一天没少,该焦虑的事一件没躲。后来我试着承认自己就是平庸&a…

📰

百度网盘下载慢怎么办?2026年提速排障与替代方案全解析

1. 从一次绝望的下载说起:百度网盘为什么越下越慢如果你经历过下载一个 5GB 的镜像文件,百度网盘却以 80KB/s 的速度“龟速爬行”,预估剩余时间显示“1天3小时”,那我完全理解你点开这篇文章时的心情。2026 年了,百度网…

📰

DirectX修复工具详解:一键解决dll缺失与游戏闪退

最近一个朋友的笔记本老毛病又犯了,Win11系统,玩个老网游不到五分钟就闪退,弹窗提示“缺少d3dx9_42.dll”。这类错误听起来挺吓人,其实多数情况并不是显卡坏了,也不是游戏文件损坏,而是系统里的DirectX运行…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬