pub trait TemporalIndexAccess: Send + Sync {
Show 13 methods
// Required methods
fn search_raw(
&self,
query: &[f32],
k: usize,
filter: TemporalFilter,
alpha: f32,
query_timestamp: i64,
) -> Vec<(u32, f32)>;
fn trajectory(
&self,
entity_id: u64,
filter: TemporalFilter,
) -> Vec<(i64, u32)>;
fn vector(&self, node_id: u32) -> Vec<f32>;
fn entity_id(&self, node_id: u32) -> u64;
fn timestamp(&self, node_id: u32) -> i64;
fn len(&self) -> usize;
// Provided methods
fn is_empty(&self) -> bool { ... }
fn regions(&self, _level: usize) -> Vec<(u32, Vec<f32>, usize)> { ... }
fn region_members(
&self,
_region_hub: u32,
_level: usize,
_filter: TemporalFilter,
) -> Vec<(u32, u64, i64)> { ... }
fn region_assignments(
&self,
_level: usize,
_filter: TemporalFilter,
) -> HashMap<u32, Vec<(u64, i64)>> { ... }
fn region_trajectory(
&self,
_entity_id: u64,
_level: usize,
_window_days: i64,
_alpha: f32,
) -> Vec<(i64, Vec<f32>)> { ... }
fn metadata(&self, _node_id: u32) -> HashMap<String, String> { ... }
fn search_with_metadata(
&self,
query: &[f32],
k: usize,
filter: TemporalFilter,
alpha: f32,
query_timestamp: i64,
metadata_filter: &MetadataFilter,
) -> Vec<(u32, f32)> { ... }
}Expand description
Low-level temporal index access combining search + trajectory + regions.
Implements all operations. The segregated traits (TemporalSearch,
TrajectoryAccess) are automatically implemented for any type that
implements TemporalIndexAccess via blanket impls.
Required Methods§
Sourcefn search_raw(
&self,
query: &[f32],
k: usize,
filter: TemporalFilter,
alpha: f32,
query_timestamp: i64,
) -> Vec<(u32, f32)>
fn search_raw( &self, query: &[f32], k: usize, filter: TemporalFilter, alpha: f32, query_timestamp: i64, ) -> Vec<(u32, f32)>
Search with temporal filtering, returning (node_id, score) pairs.
Sourcefn trajectory(&self, entity_id: u64, filter: TemporalFilter) -> Vec<(i64, u32)>
fn trajectory(&self, entity_id: u64, filter: TemporalFilter) -> Vec<(i64, u32)>
Retrieve trajectory for an entity: (timestamp, node_id) pairs.
Provided Methods§
Sourcefn regions(&self, _level: usize) -> Vec<(u32, Vec<f32>, usize)>
fn regions(&self, _level: usize) -> Vec<(u32, Vec<f32>, usize)>
Get semantic regions at a given HNSW level (RFC-004).
Returns (hub_node_id, hub_vector, n_assigned) per region.
Sourcefn region_members(
&self,
_region_hub: u32,
_level: usize,
_filter: TemporalFilter,
) -> Vec<(u32, u64, i64)>
fn region_members( &self, _region_hub: u32, _level: usize, _filter: TemporalFilter, ) -> Vec<(u32, u64, i64)>
Get points belonging to a specific region, optionally time-filtered (RFC-005).
Returns (node_id, entity_id, timestamp) per member.
Sourcefn region_assignments(
&self,
_level: usize,
_filter: TemporalFilter,
) -> HashMap<u32, Vec<(u64, i64)>>
fn region_assignments( &self, _level: usize, _filter: TemporalFilter, ) -> HashMap<u32, Vec<(u64, i64)>>
Assign all nodes to regions in a single O(N) pass, optionally time-filtered. Returns HashMap<hub_id, Vec<(entity_id, timestamp)>>.
Sourcefn region_trajectory(
&self,
_entity_id: u64,
_level: usize,
_window_days: i64,
_alpha: f32,
) -> Vec<(i64, Vec<f32>)>
fn region_trajectory( &self, _entity_id: u64, _level: usize, _window_days: i64, _alpha: f32, ) -> Vec<(i64, Vec<f32>)>
Smoothed region-distribution trajectory for an entity (RFC-004).
Sourcefn metadata(&self, _node_id: u32) -> HashMap<String, String>
fn metadata(&self, _node_id: u32) -> HashMap<String, String>
Get metadata for a node. Returns empty map if not available.
Sourcefn search_with_metadata(
&self,
query: &[f32],
k: usize,
filter: TemporalFilter,
alpha: f32,
query_timestamp: i64,
metadata_filter: &MetadataFilter,
) -> Vec<(u32, f32)>
fn search_with_metadata( &self, query: &[f32], k: usize, filter: TemporalFilter, alpha: f32, query_timestamp: i64, metadata_filter: &MetadataFilter, ) -> Vec<(u32, f32)>
Search with metadata filtering (post-filter on search results). Default: ignores metadata filter and delegates to search_raw.