Skip to content

Payload 与索引

Payload 是什么

附加在点上的 JSON,不参与向量距离计算,但可:

  • 过滤:只在与条件匹配的点中做最近邻搜索。
  • 回传:检索结果中直接带回 titleurl 等,无需再查库。

示例:

json
{
  "doc_id": "a1b2c3",
  "chunk_index": 3,
  "lang": "zh",
  "public": true
}

为何要对 Payload 建索引

过滤若扫描全量点会慢。为常用过滤字段创建 payload index 后,Qdrant 可高效筛选候选集再算向量距离。

常见索引类型(与字段类型相关):

  • keyword:精确匹配、枚举。
  • integer / float:范围。
  • bool
  • text(视版本支持):全文类能力以官方文档为准。

创建索引时机:可在有数据后通过 API 创建;字段类型与过滤运算符需匹配。

过滤与性能

  • 过滤越(匹配点越少),通常越快。
  • 高基数字段若无索引,大集合上过滤可能成为瓶颈。
  • 设计 payload 时预留 tenant_id权限标签 等,便于多租户与安全检索。

设计建议

  1. 只存检索与展示需要的字段,避免超大 payload。
  2. 需要范围查询的数字用 number,不要用字符串存数字。
  3. 与关系库通过 doc_id / user_id 关联,避免在向量库冗余整张业务表。

下一章:距离度量 的选择对结果的影响。