The Edge API

To work with a Qdrant Edge Shard, use the Python Bindings for Qdrant Edge package or the qdrant-edge Rust crate. Both expose an EdgeShard type with methods to manage data, query it, and restore snapshots.

For task-oriented introductions, refer to the Quickstart and the Data Synchronization Patterns.

Reference

PageWhat it covers
Shard LifecycleCreating, loading, inspecting, flushing, and closing an Edge Shard, and reading its metadata with info
ConfigurationEdgeConfig, dense and sparse vector parameters, optimizer settings and optimize, and WAL options
Updating DataThe update method and the full set of update operations
Reading Dataquery, scroll, grouping, retrieve, count, and facet
SnapshotsUnpacking snapshots, reading manifests, and applying snapshots to a shard

Language Differences

The Python bindings and the Rust crate cover the same core surface, but they are not identical. Each method notes the languages it is available in. The most significant differences are:

  • Rust exposes query_groups and search_matrix, which have no Python equivalent. Both require the EdgeShardRead trait in scope.
  • Rust closes a shard by dropping it, while Python has an explicit close method.
  • WAL options and the configuration setters are Rust only.
  • Python’s EdgeConfig always requires vectors or sparse_vectors, so adjusting a tunable parameter on an existing shard means redeclaring its vectors. Rust can build a configuration that sets only tunables.
  • Applying a snapshot updates the shard in place in Python, but returns a new shard in Rust.

More Examples

The Qdrant GitHub repository contains examples of using the Qdrant Edge API in Python and Rust.

Was this page useful?

Thank you for your feedback! 🙏

We are sorry to hear that. 😔 You can edit this page on GitHub, or create a GitHub issue.