Skip to main content

PatternIndex

Trait PatternIndex 

Source
pub trait PatternIndex {
    // Required methods
    fn insert(&mut self, vec: &PatternVector);
    fn search_nearest(&self, query: &[f32], k: usize) -> Vec<(BlockKey, f32)>;
    fn remove(&mut self, key: BlockKey);
    fn len(&self) -> usize;

    // Provided method
    fn is_empty(&self) -> bool { ... }
}
Expand description

Trait for a vector index over access-pattern embeddings.

Implementations range from a simple brute-force scan (InMemoryPatternIndex) to an HNSW-backed production index.

Required Methods§

Source

fn insert(&mut self, vec: &PatternVector)

Insert (or replace) a pattern vector.

Source

fn search_nearest(&self, query: &[f32], k: usize) -> Vec<(BlockKey, f32)>

Return the k nearest neighbors to query, sorted by descending cosine similarity. Each result is (key, similarity).

Source

fn remove(&mut self, key: BlockKey)

Remove the pattern for key, if present.

Source

fn len(&self) -> usize

Number of pattern vectors currently stored.

Provided Methods§

Source

fn is_empty(&self) -> bool

Returns true if the index contains no vectors.

Implementors§