pub struct DiskANNQuery<'a> { /* private fields */ }Expand description
A reusable prepared generation on one fixed canonical/catalog view. Opening verifies resident PQ and complete origins once; later queries reuse those owners and load graph pages lazily. Execution owns logical read observations before invoking this storage algorithm.
Implementations§
Source§impl<'a> DiskANNQuery<'a>
impl<'a> DiskANNQuery<'a>
Sourcepub fn open(
canonical: &'a dyn DiskANNQueryRead,
source: Arc<dyn DiskANNPageSource>,
parameters: DiskANNIndexParams,
limits: DiskANNReadLimits,
control: &StorageReadControl,
) -> StorageBackendResult<Self>
pub fn open( canonical: &'a dyn DiskANNQueryRead, source: Arc<dyn DiskANNPageSource>, parameters: DiskANNIndexParams, limits: DiskANNReadLimits, control: &StorageReadControl, ) -> StorageBackendResult<Self>
Open the physical source selected by the caller’s actual retained catalog/canonical view. Provider query adapters perform that binding; matching a caller-supplied generation label alone does not establish it. All failures propagate without an exact-scan fallback.
Sourcepub fn search_knn(
&self,
query: &[f32],
k: usize,
control: &StorageReadControl,
) -> StorageBackendResult<DiskANNQueryResult>
pub fn search_knn( &self, query: &[f32], k: usize, control: &StorageReadControl, ) -> StorageBackendResult<DiskANNQueryResult>
Approximate document top-k after complete tensor reranking, exact uncovered changes and numeric side entries. Exhausted ANN support continues through unexpanded nodes until the document quota is met or the entire base is exhausted.
Sourcepub fn search_threshold(
&self,
query: &[f32],
threshold: f32,
control: &StorageReadControl,
) -> StorageBackendResult<PostingList>
pub fn search_threshold( &self, query: &[f32], threshold: f32, control: &StorageReadControl, ) -> StorageBackendResult<PostingList>
Exact threshold evaluation streams all visible canonical tensors, including changes and empty replacements, independently of ANN membership.
Sourcepub fn search_threshold_with_stats(
&self,
query: &[f32],
threshold: f32,
control: &StorageReadControl,
) -> StorageBackendResult<DiskANNQueryResult>
pub fn search_threshold_with_stats( &self, query: &[f32], threshold: f32, control: &StorageReadControl, ) -> StorageBackendResult<DiskANNQueryResult>
Return threshold results and scoring work from their one exact invocation, without a second scan.
Trait Implementations§
Source§impl DiskANNCanonicalRead for DiskANNQuery<'_>
impl DiskANNCanonicalRead for DiskANNQuery<'_>
Source§fn check_control(
&self,
control: &StorageReadControl,
) -> StorageBackendResult<()>
fn check_control( &self, control: &StorageReadControl, ) -> StorageBackendResult<()>
Source§fn dimensions(&self) -> u32
fn dimensions(&self) -> u32
Source§fn next_document_after(
&self,
after: Option<DocId>,
control: &StorageReadControl,
) -> StorageBackendResult<Option<DocId>>
fn next_document_after( &self, after: Option<DocId>, control: &StorageReadControl, ) -> StorageBackendResult<Option<DocId>>
after from the union of canonical keys and origin keys. Include empty replacements and unstamped canonical values; read key metadata only, with bounded workspace.Source§fn origin(
&self,
document: DocId,
control: &StorageReadControl,
) -> StorageBackendResult<Option<DiskANNVectorVersion>>
fn origin( &self, document: DocId, control: &StorageReadControl, ) -> StorageBackendResult<Option<DiskANNVectorVersion>>
Source§fn visit_document(
&self,
document: DocId,
control: &StorageReadControl,
visit: &mut DiskANNCanonicalVectorVisitor<'_>,
) -> StorageBackendResult<Option<DiskANNVectorVersion>>
fn visit_document( &self, document: DocId, control: &StorageReadControl, visit: &mut DiskANNCanonicalVectorVisitor<'_>, ) -> StorageBackendResult<Option<DiskANNVectorVersion>>
Source§fn population_counts(
&self,
_generation: DiskANNGeneration,
control: &StorageReadControl,
) -> StorageBackendResult<Option<DiskANNCanonicalCounts>>
fn population_counts( &self, _generation: DiskANNGeneration, control: &StorageReadControl, ) -> StorageBackendResult<Option<DiskANNCanonicalCounts>>
None; this operation must not enumerate documents, journals or origin pages to reconstruct counts.