Skip to main content
Vectors are the core data type in Qdrant, representing embeddings generated by machine learning models. Qdrant supports multiple vector types to accommodate different use cases.

Vector Types

Qdrant supports three main vector types:

Dense Vectors

The most common vector type - fixed-size arrays of floating-point numbers:
Dense vectors are ideal for embeddings from models like OpenAI, Cohere, Sentence Transformers, and CLIP.

Sparse Vectors

High-dimensional vectors where most values are zero, stored efficiently:
Sparse vectors are perfect for:
  • BM25-style keyword search
  • TF-IDF representations
  • SPLADE embeddings
  • Hybrid dense + sparse search

Multi-Vectors (ColBERT-style)

Multiple dense vectors per point, useful for token-level embeddings:
Multi-vectors enable ColBERT-style search where documents are split into multiple token embeddings for fine-grained matching.

Named Vectors

Store multiple vector types in the same point for multimodal search:
Named vectors are ideal for:
  • Cross-modal search (text-to-image, image-to-text)
  • Multimodal retrieval
  • Multiple embedding models per document
  • A/B testing different embeddings

Vector Storage Configuration

Control how vectors are stored for optimal performance:
Fastest option. All vectors stored in RAM. Best for:
  • Small to medium datasets (< available RAM)
  • Maximum query performance
  • Real-time applications
Balanced option. OS manages memory/disk swapping. Best for:
  • Large datasets (> available RAM)
  • Cost-effective deployments
  • Acceptable query latency
Appendable memory-mapped storage. Best for:
  • Growing collections
  • Continuous ingestion
  • Disk-based storage with good performance

Vector Datatype Configuration

Qdrant supports different storage precision levels:
Reducing datatype precision saves memory but may reduce search quality. Always benchmark with your data.

Vector Dimensions

Common embedding model dimensions:
Vector dimensions must match your embedding model exactly. Qdrant validates this during insertion.

Sparse Vector Configuration

Configure sparse vector indexing:
Sparse vectors automatically use an inverted index structure optimized for high-dimensional sparse data.

Multi-Vector Comparators

Control how multi-vectors are compared:
MaxSim: Computes similarity between each query vector and each document vector, returns the maximum. This is the ColBERT approach.

Vector Preprocessing

Normalization

For Cosine distance, normalize vectors:
Some embedding models return pre-normalized vectors. Check your model’s documentation before normalizing.

Best Practices

Always use the same vector dimensions, distance metric, and normalization as your embedding model was trained with.
Combine dense semantic vectors with sparse keyword vectors for best retrieval quality.
For documents longer than your model’s context window, use multi-vectors to preserve fine-grained information.
For large collections, use Float16 datatype and on-disk storage to reduce memory usage.
When working with multiple data types (text, images, audio), use named vectors to keep embeddings organized.

Collections

Learn how collections configure vector storage

Points

Understand how vectors are stored in points

Distance Metrics

Deep dive into distance metrics for vector comparison

Indexing

Explore how vectors are indexed for fast search