Milvus 基本概念

Milvus是一个开源的向量相似度搜索引擎,它提供了高效的向量索引和快速的相似度搜索功能。Milvus具有可扩展性强、高速度、高精度和易于使用等特点,被广泛应用于各种大规模向量数据的相似度搜索和相似度匹配任务中。

本文将介绍Milvus的基本概念,包括向量、向量索引、相似度搜索和Milvus的工作流程等内容。

一、向量

在Milvus中,向量是指由一组数字构成的有序列表,用于表示实体或数据点。向量的维度即向量中数字的数量,是一个重要的指标。Milvus支持任意维度的向量,但通常情况下,向量的维度越高,计算和存储的开销就越大。

例如,一个二维向量可以表示平面上的一个点,三维向量可以表示空间中的一个点,而更高维度的向量可以表示更复杂的特征或属性。

在Milvus中,向量通常存储在向量集合(Collection)中,一个向量集合可以包含多个向量。向量集合是相似度搜索的基本单位,可以根据需要创建多个不同的向量集合。

二、向量索引

向量索引是指将向量集合中的向量按照某种方式组织起来,以便进行高效的相似度搜索。在Milvus中,采用了多种向量索引算法,包括IVF、HNSW、NSG等。

IVF(Inverted File)算法是一种常用的向量索引算法,它将向量集合划分成多个倒排文件,在查询时可以通过倒排文件快速定位到包含候选向量的索引桶,然后在桶内进行精确的相似度计算。

HNSW(Hierarchical Navigable Small World)算法是一种基于图的向量索引算法,它通过构建一个多层的图结构,将向量集合中的向量映射到不同的图节点中。在查询时,HNSW算法可以通过跳转到相邻节点来快速定位到包含候选向量的图节点,在节点内进行相似度计算。

NSG(Navigating Spreading-out Graph)算法也是一种基于图的向量索引算法,它通过构建一个有向无环图来表示向量的相似关系。在查询时,NSG算法可以通过沿着图的边进行扩散搜索,快速找到与查询向量相似的向量。

三、相似度搜索

相似度搜索是指在向量集合中查找与给定查询向量最相似的向量。Milvus提供了多种相似度搜索的方法,包括向量查询和向量范围查询。

向量查询是指根据给定的查询向量,在向量集合中查找与之最相似的向量。Milvus采用了多种相似度计算方法,包括欧氏距离、余弦相似度等指标,用户可以根据需要选择适合的相似度计算方法。

向量范围查询是指在给定的范围内查找与查询向量相似度在一定阈值范围内的向量,可以用于查找相似度高于某个阈值的向量。

四、Milvus的工作流程

在使用Milvus进行相似度搜索时,通常需要经过以下几个步骤:

  1. 创建向量集合:首先,需要创建一个向量集合,用于存储向量数据。

  2. 插入向量:将向量数据插入到向量集合中。

  3. 建立索引:为向量集合建立索引,以便进行高效的相似度搜索。

  4. 执行相似度搜索:根据需要,执行相似度搜索操作,查找与给定查询向量最相似的向量。

  5. 获取结果:获取相似度搜索的结果,可以是单个最相似的向量或多个相似度高于阈值的向量。

  6. 删除向量:如果需要,可以从向量集合中删除指定的向量。

  7. 重建索引:如果向量集合发生变化,可以重建索引以保持索引的有效性。

总结

本文介绍了Milvus的基本概念,包括向量、向量索引、相似度搜索和Milvus的工作流程。通过了解这些概念,可以更好地理解和使用Milvus进行大规模向量数据的相似度搜索和相似度匹配任务。

需要注意的是,Milvus是一个开源项目,具有强大的可扩展性和灵活性,可以根据具体需求进行调整和定制。

相关推荐
Database_Cool_4 天前
阿里云 Lindorm vs Milvus+ES 拼接:一栈式多模数据库与多库架构全维度对比
elasticsearch·阿里云·milvus
IT小辉同学4 天前
# Milvus v3.0-beta docker-compose 启动失败完整排错教程
docker·eureka·milvus
大模型码小白5 天前
Milvus 架构设计:从向量索引到分布式检索,AI 原生存储引擎的内部机制
java·大数据·人工智能·分布式·深度学习·milvus
小二·7 天前
多模态RAG实战:用LangChain+Milvus打造支持图文音视频的企业级知识库
langchain·音视频·milvus
weixin_3077791311 天前
Linux下Docker Compose里运行Milvus向量数据库故障诊断Shell脚本
linux·运维·数据库·docker·milvus
Generalzy12 天前
从本地 Demo 到生产级检索:Milvus 学习笔记(3)
笔记·学习·milvus
Earth explosion12 天前
大规模向量库的索引选型与查询性能调优:Milvus 实战指南
人工智能·milvus·ai智能体
Generalzy12 天前
从本地 Demo 到生产级检索:Milvus 学习笔记(2)
golang·milvus
记忆停留w13 天前
从单体到微服务:Redis 协同 MySQL、Milvus、MinIO 搭建企业级RAG/AI Agent脚手架架构
大数据·人工智能·redis·微服务·ai·架构·milvus
小二·13 天前
RAG + 向量数据库实战:ChromaDB / Milvus / FAISS 选型与性能横评
数据库·milvus·faiss