milvus基础
nlist和nprobe
- nlist 是调用 create_index 时设置的参数,nprobe 则是调用 search 时设置的参数。
 - IVFLAT 和 SQ8 索引都是通过聚类算法把大量的向量划分成很多‘簇’(也可以叫‘桶’),
 - nlist 指的就是聚类时划分桶的总数。
 - 通过索引查询步骤
 
- 第一步先找到和目标向量最接近的若干个桶(nprobe:若干个桶的数量)
 - 若干个桶里通过比较向量距离查找出最相似的 k 条向量。
 
- nlist越大,也就是建立索引时,划分桶的数量越多,同时每个桶中的向量数量越少
 
- 查询时,比较的向量越少,结果就是:性能和速度越好;准确率越低
 - nlist官方推荐为 4*sqrt(n),其中,n表示向量的个数
 - nprobe越大,则比较的桶和向量越多,结果就是:性能和速度相对越低,准确率越高
 
本文来自博客园,作者:柯南小海盗,转载请注明原文链接:https://www.cnblogs.com/knxhd/p/18371392

        Milvus 是在 2019 年创建的,其目标是存储、索引和管理深度神经网络和其他机器学习(ML)模型生成的大规模 嵌入向量。作为一种专门设计用于处理对输入向量的查询的数据库,它能够处理万亿级规模的向量索引。与现有的主要处理按照预定义模式遵循结构化数据的关系型数据库不同,Milvus 从底层开始设计,主要处理从 非结构化数据 转换而来的嵌入向量。
    
                
            
        
浙公网安备 33010602011771号