SeekStorm/SeekStorm
SeekStorm: vector & lexical search - in-process library & multi-tenancy server, in Rust.
What it solves
SeekStorm provides a high-performance search solution that combines both vector (semantic) and lexical (keyword) search. It addresses the need for sub-millisecond search latency and high throughput on single commodity servers, eliminating the requirement for expensive clusters or proprietary hardware accelerators while supporting billion-scale indices.
How it works
SeekStorm uses a "twin-core" architecture with two separate, native index architectures: an inverted index for lexical search and an ANN (Approximate Nearest Neighbor) index for vector search. A unified query planner manages these engines, allowing users to perform pure lexical, pure vector, or hybrid searches using Reciprocal Rank Fusion (RRF) to combine results. It is implemented in Rust and leverages SIMD hardware acceleration for both x86-64 and ARM architectures.
Who it’s for
It is designed for developers needing a fast, scalable search engine, either as an in-process library or a multi-tenancy server. It is particularly useful for applications requiring real-time search, complex filtering, or high-concurrency environments where low tail latency (P99) is critical.
Highlights
- Hybrid Search: Native integration of vector and lexical search engines under one query planner.
- Extreme Performance: Sub-millisecond latency and high indexing speeds (up to 35K docs/sec on a laptop).
- Integrated Inference: Can automatically generate and index embeddings from text fields using Model2Vec.
- Real-time Indexing: Documents are searchable immediately upon indexing without requiring resource-intensive segment merges.
- Advanced Search Features: Supports faceted search, geo-proximity search, typo-tolerance, and N-gram indexing for phrase search.
- Multi-tenancy Server: Includes a RESTful API, API-key management, and an embedded web UI for index management.
Related
- Project
- Project
- Project
- Project
- Project