Skip to main content
Payloads are JSON objects attached to points that store metadata alongside vectors. They enable filtering, sorting, and enriching search results with structured data.

What are Payloads?

Each point in Qdrant can have an optional payload containing arbitrary JSON data:
Payloads are stored separately from vectors, making them efficient for filtering without loading vector data.

Supported Data Types

Qdrant payloads support rich JSON data types:

Primitive Types

Arrays

Store multiple values of the same type:

Nested Objects

Hierarchical data structures:

Geographic Points

Latitude and longitude coordinates:
Geo points enable radius and bounding box searches for location-based applications.

Datetime Values

RFC3339 formatted datetime strings:
Qdrant stores datetimes as microsecond timestamps internally for efficient range queries.

UUID Values

Universally unique identifiers:

Payload Indexing

Indexing payload fields dramatically improves filter performance:

Creating Payload Indexes

Always index fields you frequently filter on. Without indexes, filters require scanning all points.

Advanced Index Configuration

Keyword Indexes

Integer Indexes with Range Support

Text Indexes with Tokenization

Text indexes enable full-text search within payloads using match queries.

Querying Payloads

Match Conditions

Range Conditions

Geographic Queries

Nested Field Queries

Array Queries

Payload Operations

Setting Payload

Merge new fields into existing payload:

Overwriting Payload

Replace entire payload:

Deleting Payload Fields

Remove specific keys:

Clearing All Payload

Remove entire payload while keeping vector:

Payload in Search Results

Control what payload data is returned:
For better performance, only request the payload fields you actually need.

Best Practices

Create indexes for any field you filter on regularly. Indexed filters are orders of magnitude faster than unindexed ones.
Aim for payloads under 1KB per point. Store large objects (images, documents) externally and reference them in the payload.
Use the correct PayloadSchemaType when creating indexes:
  • keyword for exact match filtering (categories, tags, IDs)
  • integer for numeric exact match and ranges
  • text for full-text search
  • geo for location queries
Keep payload structure consistent across points. This makes querying easier and reduces storage overhead.
Deep nesting can make queries complex. Consider flattening structures when possible.
Use PayloadSelector to fetch only the fields you need, reducing network transfer and deserialization time.

Performance Considerations

Memory Usage

Filter Selectivity

Combine multiple filters for better performance. Qdrant optimizes filter execution order based on selectivity.

Points

Learn how payloads are attached to points

Indexing

Understand how payload indexes work

Collections

Learn about collection-level configurations

Vectors

Understand the vector component of points