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 | 0.26.6 | Matches the current QAIL workspace release line. |
| 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. |
Intent Split to Prevent Cannibalization
To keep SERP intent clean, driver capability intent points to /qdrant, while
benchmark-performance intent points to the benchmark report.
| Keyword Cluster | Primary Intent | Canonical Destination |
|---|---|---|
| qdrant rust driver | Find Rust-native Qdrant driver surface | /qdrant |
| rust qdrant vector driver | Assess vector search APIs and transport | /qdrant |
| qail vector driver | Understand QAIL vector runtime for Qdrant | /qdrant |
| qdrant driver benchmark | See measured throughput and latency | /benchmarks/qdrant-january-2026 |
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.
FAQ
Is qail-qdrant production-stable yet?
It is currently marked beta. Treat upgrades as potentially breaking and validate compatibility in CI before rollout.
How do filtered vector queries work with AST conditions?
The driver includes filtered search APIs and an AST-driven path that translates conditions into Qdrant filter structures.
Does this runtime support TLS and connection pooling?
Yes. Transport uses gRPC/HTTP2 with rustls TLS support, and pooling is available through QdrantPool and PoolConfig.
Where do I find benchmark data versus capability docs?
Use /benchmarks/qdrant-january-2026 for measured performance and keep this page for API surface and integration behavior.