Skip to main content

Crate sochdb_vector

Crate sochdb_vector 

Source
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.