Qdrant Driver Capability Matrix
Feature surface below is derived from qail.rs/qdrant source and docs. It reflects
the current Rust API shape and transport model, with beta maturity status preserved explicitly.
| Capability | Current Data | Notes |
|---|---|---|
| Primary focus | Qdrant vector search driver | qail-qdrant targets vector similarity workflows over Qdrant using Rust-native APIs. |
| Current crate release | 1.3.3 | Matches the current stable QAIL workspace release line with Qdrant JSON integer drift rejection and little-endian vector encoding. |
| Maturity state | Beta | Marked as beta in crate docs; API can still change. |
| Transport | gRPC over HTTP/2 | Direct gRPC transport path with reusable buffers. |
| TLS model | rustls (no system OpenSSL required) | Supports TLS connection mode in driver and pool config. |
| Search APIs | search, search_named, search_filtered, search_batch, search_ast | Covers plain, named-vector, filtered, concurrent batch, and AST-driven search paths. |
| Data ops | upsert, get_points, scroll, delete, payload update | Point lifecycle and payload update operations are supported in the Rust driver. |
| Collection/index ops | create/delete collection, create payload field index | Includes collection creation and payload index creation for faster filtering. |
| Pooling | QdrantPool + PoolConfig | Configurable max connections, TLS flag, and qail.toml-derived pool config. |
Core Runtime Paths
Search + Filter Paths
Supports plain vector search, named-vector search, filtered search with AST conditions,
and AST-driven search extraction via search_ast.
Point + Payload Lifecycle
Includes upsert, get, scroll pagination, delete by IDs, and payload updates for existing points.
Collection + Index Controls
Collection create/delete plus payload field index creation for filtered-search acceleration paths.
Quick Start (Rust)
1. Add Dependencies
Add the vector driver and core AST crate.
cargo add qail-qdrant qail-core 2. Connect and Search
Minimal connection and vector search flow.
use qail_qdrant::QdrantDriver;
let mut driver = QdrantDriver::connect("localhost", 6334).await?;
let hits = driver.search("products", &embedding, 10, None).await?; 3. Use AST Filtered Search
Filter conditions can be pushed through QAIL AST into Qdrant filter clauses.
use qail_core::Qail;
let cmd = Qail::search("products")
.vector(embedding)
.limit(10)
.filter("tenant_id", qail_core::Operator::Eq, "t-001");
let hits = driver.search_ast(&cmd).await?; Related Pages
- Qdrant benchmark report - performance-specific intent page.
- Hybrid architecture docs - PostgreSQL to Qdrant sync model.
- Changelog - release timeline with links to dedicated driver pages.
Operational Tips
- qail-qdrant is currently beta; pin versions and validate compatibility in CI before rollout.
- Use filtered search APIs and the AST-driven search path when tenant and business filters must stay explicit.
- Enable rustls TLS mode and tune
QdrantPool/PoolConfigfor bounded, production-safe connection reuse. - Keep performance reads at /benchmarks/qdrant-january-2026 and use this page for runtime capability scope.