About memista
A small library by Skelf Research. Built because not every project that needs vector search needs a vector database.
What it is
memista is a Rust crate (crates.io/crates/memista)
that packages a vector search service into a single binary. It uses SQLite (via
async-sqlite) for chunk text and metadata, and USearch for the vector index. An
Actix-web layer exposes three HTTP endpoints, with OpenAPI documentation auto-generated by
apistos and rendered via Swagger UI, Redoc, RapiDoc and Scalar at
/swagger, /redoc, /rapidoc and /scalar.
What it isn't
- It is not a distributed database. There is one process, one disk.
- It is not yet production-tested at scale — the project's own README marks it experimental (tested under ~100k vectors).
- It does not authenticate clients. The server binds to localhost; if you expose it, you reverse-proxy it.
- It does not currently accept arbitrary embedding dimensions in the stock build —
IndexOptions::dimensionsis set to2insrc/lib.rs. You will edit this before real use. See changing embedding dimensions.
The audience
Rust developers who are bolting retrieval onto something else — an agent, a desktop app, a
CLI — and don't want a separate database to run, monitor, and back up. Edge and local-AI
workloads where a single binary that writes a .db and a .usearch
file next to it is the right shape. See the use cases for concrete
examples.
Index details (grounded)
| Property | Value | Source |
|---|---|---|
| Index backend | USearch 2.19.x | Cargo.toml |
| Algorithm | HNSW (USearch default) | USearch docs |
| Distance metric | Inner Product (MetricKind::IP) | src/lib.rs |
| Quantization | ScalarKind::F32 | src/lib.rs |
| SIMD | simsimd feature on | Cargo.toml |
| Persistence | SQLite WAL + <db_id>.usearch file | src/lib.rs |
| Multi-vector keys | multi: true | src/lib.rs |
The default connectivity, expansion_add and
expansion_search are passed as 0, which means USearch picks its
built-in defaults. If you need to tune recall vs. latency, fork the
load_or_create_index helper.
Project
memista is part of Skelf Research. Source on GitHub, published to crates.io, rustdoc at docs.rs, longer-form docs at docs.skelfresearch.com/memista/. Licensed GPL-3.0.