Files
qdrant/lib/edge/src/lib.rs
Andrey Vasnetsov 4ff6acaf8c Edge: request-specific structures for EdgeShardRead (#9901)
Replace the mixed read interface (internal types, explicit parameter
enumeration, ad-hoc custom types) with edge-owned request structs, one
file per request in src/requests/. Each has a new() constructor taking
only the required parameters, a no-macro fluent builder in src/builders/,
and a From conversion into the internal request type in
requests/conversions/, grouped by request type. Conversions construct
and destructure with full field lists, so a parameter added on either
side fails compilation instead of being silently dropped.

The old reexport aliases (ScrollRequest = ScrollRequestInternal, etc.)
are replaced by the edge types under the same names; retrieve() takes a
RetrieveRequest instead of a parameter triple. Python bindings wrap the
edge types, and the published Rust examples use the builders.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:53:58 +02:00

34 lines
1.1 KiB
Rust

pub mod bm25_embed;
mod builders;
pub mod config;
mod edge_shard;
mod read_only;
mod read_view;
mod reexports;
mod requests;
mod types;
pub use types::*;
#[cfg(test)]
mod test_helpers;
pub use builders::{
CountRequestBuilder, EdgeConfigBuilder, EdgeSparseVectorParamsBuilder, EdgeVectorParamsBuilder,
FacetRequestBuilder, GroupRequestBuilder, PrefetchBuilder, QueryRequestBuilder,
RetrieveRequestBuilder, ScrollRequestBuilder, SearchMatrixRequestBuilder, SearchRequestBuilder,
};
pub use config::optimizers::EdgeOptimizersConfig;
pub use config::shard::EdgeConfig;
pub use config::vectors::{EdgeSparseVectorParams, EdgeVectorParams};
pub use edge_shard::EdgeShard;
pub use read_only::{
LocalSegmentEnumerator, ManifestSegmentEnumerator, ReadOnlyEdgeShard, SegmentEnumerator,
};
pub use read_view::{EdgeShardRead, Group, ReadSegmentHandle, SearchMatrixResponse, ShardInfo};
pub use reexports::*;
pub use requests::{
CountRequest, FacetRequest, GroupRequest, Prefetch, QueryRequest, RetrieveRequest,
ScrollRequest, SearchMatrixRequest, SearchRequest,
};
pub use shard::segment_manifest::{SegmentManifestState, SegmentsManifest};