- ID: A unique identifier (integer or UUID)
- Vector: One or more dense or sparse vectors
- Payload: Optional JSON metadata
Point Structure
Here’s what a complete point looks like:Every point must have an ID and at least one vector. Payload is optional but highly recommended for filtering and retrieval.
Point IDs
Qdrant supports two types of point IDs:Integer IDs (u64)
Simple numeric identifiers from 0 to 2^64-1:UUID IDs
Universally unique identifiers for distributed systems:Vector Data
Single Vector
Most common case - one vector per point:Named Vectors
Multiple vectors of different types per point:Sparse Vectors
For high-dimensional sparse data:Payloads
Payloads are JSON objects attached to points for filtering and retrieval:Batch Operations
Upserting Multiple Points
Efficiently insert or update many points at once:Batch operations are much more efficient than individual upserts. Aim for batches of 100-1000 points.
Retrieving Points by ID
Deleting Points
Delete by IDs:Scrolling Through Points
Iterate through all points in a collection:Point Versioning
Each point has an internal version number that increments with each update:Update Strategies
Upsert (Overwrite)
Replaces the entire point:Set Payload (Merge)
Merges with existing payload:Overwrite Payload (Replace)
Replaces payload without changing vector:Delete Payload Keys
Remove specific fields:Best Practices
Use batch operations
Use batch operations
Always prefer batch upserts over individual operations. Batching 100-1000 points provides optimal performance.
Choose ID type carefully
Choose ID type carefully
Stick with integer IDs unless you specifically need UUIDs. Integer IDs are more compact and efficient.
Keep vectors normalized
Keep vectors normalized
If using Cosine distance, normalize your vectors before insertion for consistent results.
Index important payload fields
Index important payload fields
Create payload indexes for fields you frequently filter on to improve query performance.
Avoid huge payloads
Avoid huge payloads
Keep payload sizes reasonable (less than 1KB per point). Store large objects externally and reference them in the payload.
Related Concepts
Collections
Learn how collections organize and configure points
Vectors
Deep dive into vector types and configurations
Payloads
Understand payload structure and indexing
Indexing
Explore how points are indexed for fast search