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 操作。架构说明、存储说明

相关推荐
泯泷13 分钟前
像项目经理一样指挥 AI 团队:管理者模式
人工智能·llm·agent
京东云开发者23 分钟前
双11囤Token火了:京东搜索量暴涨7倍,AI生产力成新刚需
人工智能
ahccqw40 分钟前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
人工智能AI技术1 小时前
LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话
人工智能
Flynn Liang1 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope
汤姆宝库2 小时前
构建一个能用的RAG系统:切块、嵌入、混合检索与融合排序
人工智能
Dawson Zhu2 小时前
【LLM推理与Serving⑪】MoE推理与MLA:DeepSeek-V3架构下的显存与通信权衡
人工智能·语言模型·架构·aigc·agi
github_is_geeksKai2 小时前
50 个 AI 与开源工具怎么选:从实际用途到实现边界
人工智能
IT_陈寒2 小时前
Vite的HMR把我整不会了:一个生产环境的热更新坑
前端·人工智能·后端
github_is_geeksKai2 小时前
浏览器 AI 小工具怎么选?40 个项目与 5 类商业任务的参考指南
人工智能