Expand description
Streaming Elimination Vector Search Engine
A silicon-sympathetic, CPU-first ANN design that avoids pointer chasing, supports updates, and makes recall a controllable knob.
§Architecture
The engine uses two complementary views for candidate generation:
- RDF (Rare-Dominant Fingerprint): IR-style inverted lists for precision
- BPS (Block Projection Sketch): Dense-friendly streaming scans for recall
Final ranking uses int8 dot products with outlier-aware correction.
§SIMD Acceleration
The engine uses pure Rust SIMD implementations for critical operations:
- BPS scans: AVX2 (32x) / AVX512 (64x) / NEON (16x) speedup
- int8 dot products: 8x speedup on AVX2
- Visibility checks: 4x speedup on AVX2 / 2x on NEON
All SIMD code is written in Rust using core::arch intrinsics,
enabling cross-function inlining and eliminating FFI overhead.
See simd module for the pure Rust implementations and
dispatch module for runtime CPU detection and kernel dispatch.
Re-exports§
pub use wasm_rerank::ProvenanceRerankOutput;pub use wasm_rerank::RerankCandidate;pub use wasm_rerank::RerankResult;pub use wasm_rerank::WasmRerankPlugin;pub use wasm_rerank::attach_provenance;pub use config::EngineConfig;pub use error::Error;pub use error::Result;pub use query::QueryEngine;pub use search_plan::OptimizationMode;pub use search_plan::PipelineStage;pub use search_plan::SearchPlan;pub use search_plan::SearchPlanner;pub use search_plan::SearchSLA;pub use search_plan::StageQuantLevel;pub use segment::Segment;pub use shard_topology::Centroid;pub use shard_topology::RoutingDecision;pub use shard_topology::ShardRouter;pub use shard_topology::ShardTopology;pub use shard_topology::TopologyConfig;pub use dispatch::BpsScanDispatcher;pub use dispatch::CpuFeatures;pub use dispatch::DotI8Dispatcher;pub use dispatch::SimdLevel;pub use dispatch::VisibilityDispatcher;pub use dispatch::cpu_features;pub use dispatch::dispatch_info;pub use dispatch::simd_available;pub use dispatch::simd_level;pub use bm25::BM25Config;pub use bm25::BM25Scorer;pub use bm25::BM25Stats;pub use bm25::tokenize;pub use bm25::tokenize_minimal;pub use hybrid::ComponentScores;pub use hybrid::HybridSearchEngine;pub use hybrid::RRFConfig;pub use hybrid::RRFFusion;pub use hybrid::SearchResult;pub use inverted_index::InvertedIndex;pub use inverted_index::InvertedIndexBuilder;pub use inverted_index::Posting;pub use inverted_index::PostingList;pub use multi_vector::AggregationMethod;pub use multi_vector::DocumentScore;pub use multi_vector::MultiVectorAggregator;pub use multi_vector::MultiVectorConfig;pub use multi_vector::MultiVectorDocument;pub use multi_vector::MultiVectorError;pub use multi_vector::MultiVectorMapping;pub use tombstones::TombstoneError;pub use tombstones::TombstoneFilter;pub use tombstones::TombstoneManager;pub use types::*;
Modules§
- async_
lsm - Non-Blocking LSM Sealing with Write-Ahead Log
- async_
rotation - Async Rotation Pipeline
- batch_
segment_ writer - True Batch SegmentWriter Ingest
- bm25
- BM25 Scoring for Lexical Search (Task 4)
- bmi2_
paths - BMI2 Fast Paths for Bit Manipulation
- catalog
- SochDB-based catalog for segment metadata.
- compaction
- Compaction Isolation
- compressed_
routing - Cache-Resident Routing Layer (Task 4)
- config
- Engine configuration.
- cost_
model - Cost Model and Per-Query Budgets (Task 1)
- dispatch
- Kernel dispatch for pure Rust SIMD implementations.
- error
- Error types for the vector search engine.
- filter
- Filter support with bitsets and filter-aware widening.
- filter_
indexing - Cardinality-Aware Filter Indexing (Task 7)
- filter_
pushdown - Filter/Projection Pushdown
- guarantee_
ladder - Guarantee Ladder with Explicit Semantics (Task 2)
- hot_
path_ layout - Vector Storage Hot-Path Layout (Task 16)
- hybrid
- Hybrid Search with RRF Fusion (Task 4)
- inverted_
index - Inverted Index for Lexical Search (Task 4)
- jit_ir
- JIT Compilation for Small IR
- lazy_
segment - Lazy BPS/RDF/Rerank Construction (Build-on-First-Query)
- list_
bounds - Cosine/Dot (MIPS) List Bounds (Task 3)
- lsm
- LSM-style segment management.
- multi_
vector - Multi-Vector Documents with Stable Aggregation Semantics (Task 5)
- numa_
alloc - NUMA-Aware Memory Allocation
- outlier_
encoding - Optimized Outlier Encoding
- portable_
simd - Portable SIMD Scan Kernels (Task 6)
- quantization_
calibration - Quantization Error Calibration (Task 5)
- query
- Query execution pipeline.
- query_
telemetry - Per-Query Telemetry (Task 10)
- rerank
- Rerank module for int8 dot products with outlier correction.
- rotation
- Walsh-Hadamard rotation for embedding preprocessing.
- search_
plan - Quantization-aware Search Plan
- segment
- Segment format and reading functionality.
- segment_
compaction - Drift-Resilient Segment & Compaction Strategy (Task 9)
- shard_
topology - Shard-First ANN Topology
- simd
- Pure Rust SIMD kernels for SochDB vector operations.
- simd_
hadamard - SIMD-Accelerated Walsh-Hadamard Transform
- ssd_
rerank - SSD Rerank Executor with IO Coalescing (Task 8)
- tombstones
- Tombstones for Logical Deletion (Task 6)
- types
- Common types used throughout the engine.
- wasm_
rerank - WASM rerank plugin interface for in-engine cross-encoder reranking.