Home Expressions
Docs
Drivers Gateway SDKs Benchmarks
Changelog
GitHub
Blog Status Roadmap
QAIL Vector Driver

qail-qdrant: Native Qdrant Driver for Rust

A high-throughput vector search driver built for the Rust ecosystem. Leverage gRPC over HTTP/2 with typed AST filters for seamless, production-grade similarity search and data synchronization.

Vector Driver qail-qdrant v0.27.9 gRPC + HTTP/2 TLS (rustls) Beta Updated April 17, 2026

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.27.9 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.

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

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.