Qdrant 快速入门 :数据模型介绍

Qdrant 的核心数据模型是:Collection(集合)包含多个 Point(数据点),每个 Point 由 ID、Vector(向量)和可选的 Payload(附加数据)组成。

模型 含义 类比与示例
Collection 存放一组 Point,定义向量维度、相似度计算方式等配置 类似一张表,例如商品集合 products
Point 一条独立的数据记录,是写入、查询、更新和删除的基本单位 一个商品
ID Point 在当前 Collection 内的唯一标识,支持无符号 64 位整数或 UUID 1001
Vector 内容的数值表示,用于相似度检索 商品描述经过 Embedding 模型生成的向量
Payload 附着在 Point 上的 JSON 数据,用于保存业务信息和条件过滤 商品名称、分类、价格、是否有货

以上结构参见 Collection 文档和 Point 文档。
#mermaid-svg-WARazuEg3SHlKW39{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-WARazuEg3SHlKW39 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-WARazuEg3SHlKW39 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-WARazuEg3SHlKW39 .error-icon{fill:#552222;}#mermaid-svg-WARazuEg3SHlKW39 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-WARazuEg3SHlKW39 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-WARazuEg3SHlKW39 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-WARazuEg3SHlKW39 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-WARazuEg3SHlKW39 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-WARazuEg3SHlKW39 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-WARazuEg3SHlKW39 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-WARazuEg3SHlKW39 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-WARazuEg3SHlKW39 .marker.cross{stroke:#333333;}#mermaid-svg-WARazuEg3SHlKW39 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-WARazuEg3SHlKW39 p{margin:0;}#mermaid-svg-WARazuEg3SHlKW39 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-WARazuEg3SHlKW39 .cluster-label text{fill:#333;}#mermaid-svg-WARazuEg3SHlKW39 .cluster-label span{color:#333;}#mermaid-svg-WARazuEg3SHlKW39 .cluster-label span p{background-color:transparent;}#mermaid-svg-WARazuEg3SHlKW39 .label text,#mermaid-svg-WARazuEg3SHlKW39 span{fill:#333;color:#333;}#mermaid-svg-WARazuEg3SHlKW39 .node rect,#mermaid-svg-WARazuEg3SHlKW39 .node circle,#mermaid-svg-WARazuEg3SHlKW39 .node ellipse,#mermaid-svg-WARazuEg3SHlKW39 .node polygon,#mermaid-svg-WARazuEg3SHlKW39 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-WARazuEg3SHlKW39 .rough-node .label text,#mermaid-svg-WARazuEg3SHlKW39 .node .label text,#mermaid-svg-WARazuEg3SHlKW39 .image-shape .label,#mermaid-svg-WARazuEg3SHlKW39 .icon-shape .label{text-anchor:middle;}#mermaid-svg-WARazuEg3SHlKW39 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-WARazuEg3SHlKW39 .rough-node .label,#mermaid-svg-WARazuEg3SHlKW39 .node .label,#mermaid-svg-WARazuEg3SHlKW39 .image-shape .label,#mermaid-svg-WARazuEg3SHlKW39 .icon-shape .label{text-align:center;}#mermaid-svg-WARazuEg3SHlKW39 .node.clickable{cursor:pointer;}#mermaid-svg-WARazuEg3SHlKW39 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-WARazuEg3SHlKW39 .arrowheadPath{fill:#333333;}#mermaid-svg-WARazuEg3SHlKW39 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-WARazuEg3SHlKW39 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-WARazuEg3SHlKW39 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-WARazuEg3SHlKW39 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-WARazuEg3SHlKW39 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-WARazuEg3SHlKW39 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-WARazuEg3SHlKW39 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-WARazuEg3SHlKW39 .cluster text{fill:#333;}#mermaid-svg-WARazuEg3SHlKW39 .cluster span{color:#333;}#mermaid-svg-WARazuEg3SHlKW39 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-WARazuEg3SHlKW39 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-WARazuEg3SHlKW39 rect.text{fill:none;stroke-width:0;}#mermaid-svg-WARazuEg3SHlKW39 .icon-shape,#mermaid-svg-WARazuEg3SHlKW39 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-WARazuEg3SHlKW39 .icon-shape p,#mermaid-svg-WARazuEg3SHlKW39 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-WARazuEg3SHlKW39 .icon-shape .label rect,#mermaid-svg-WARazuEg3SHlKW39 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-WARazuEg3SHlKW39 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-WARazuEg3SHlKW39 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-WARazuEg3SHlKW39 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Qdrant
Collection:products
Collection:articles
Point:1001
Point:1002
其他 Point
ID

1001
Vector

用于相似度检索
Payload

业务数据与过滤条件
name:无线降噪耳机
category:耳机
price:399

例如,products 集合中的一个 Point 可以是:

json 复制代码
{
  "id": 1001,
  "vector": [0.12, -0.35, 0.88, 0.21],
  "payload": {
    "name": "无线降噪耳机",
    "description": "支持主动降噪,适合通勤使用",
    "category": "耳机",
    "price": 399,
    "in_stock": true,
    "tags": ["无线", "降噪", "通勤"]
  }
}

这是一个示意商品,向量数值也是示意值:

  • id :用于精确定位这条记录,例如读取或删除商品 1001。
  • vector:用于寻找语义相似的商品。这里使用 4 维向量,因此集合的对应向量配置也必须是 4 维。
  • payload :保存商品信息。检索时可限定 category = "耳机"、price ≤ 500、in_stock = true,再结合向量相似度寻找符合要求的商品。Payload 文档

一个 Point 也可以包含多个命名向量,例如同一个商品分别保存文字特征和图片特征:

json 复制代码
{
  "id": 1001,
  "vector": {
    "text": [0.12, -0.35, 0.88, 0.21],
    "image": [0.61, 0.23, -0.14]
  },
  "payload": {
    "name": "无线降噪耳机",
    "category": "耳机"
  }
}

此时需要在 Collection 中分别配置 text 为 4 维、image 为 3 维;检索时指定使用哪一种向量。不同命名向量可以采用不同的维度和距离算法。命名向量说明

底层还有 Shard(分片)和 Segment(存储段) :Collection 的数据划分到 Shard,每个本地分片副本内部包含多个 Segment;Segment 保存向量、Payload 和相关索引。它们属于存储组织层,业务接口主要围绕 Collection 和 Point 操作。架构说明、存储说明

相关推荐
L·S·P44 分钟前
25MB 管理 100+ 种数据库:开源轻量客户端 DBX 介绍与上手
数据库·mysql·开源·database·dbx
网硕互联的小客服2 小时前
Linux服务器磁盘应该如何合理分区?
linux·运维·服务器
m4Rk_3 小时前
【论文阅读】Agent 记忆机制(83):Inside Out——用可演化 PersonaTree 构建 Agent 的核心长期记忆
论文阅读·人工智能·学习·开源·github
运行时异常3 小时前
【WMS 仓储系统集成 AI Agent 实战】第 8 讲(终篇):生产部署与并发安全——Semaphore 放进 Flux.defer 的坑,压测抓了一晚上
人工智能·安全
笃行3503 小时前
KingbaseES KSQL Developer 的连接管理、数据处理与对象管理
数据库
杨杨杨大侠3 小时前
Jev、Kev、Laya:决策模型怎么选,什么时候需要微调?
人工智能·python·agent
代码方舟3 小时前
零信任架构实战:基于天远人企关联构建自动化供应链金融网关
运维·人工智能·架构·自动化
ha_lydms3 小时前
MaxCompute中加密与解密函数
大数据·数据库·数据仓库·hadoop·dataworks·maxcompute·odps
虹科网络安全3 小时前
“顶会”看安全(十八):超越越狱:揭示由能力边界模糊引发的 LLM 应用安全风险
人工智能·安全
lisanmengmeng3 小时前
nacos nrpe 监控机及被监控机部署
服务器·nacos·nagios·nrpe