$ memista

Features

memista is a lightweight vector search library for Rust. It doesn't reinvent the index or the store — it wires USearch and SQLite together behind a small HTTP surface. Everything here is grounded in the actual crate.

Vector index

USearch HNSW under the hood, tuned for embeddable retrieval

USearch / HNSW index

Approximate nearest-neighbour search powered by USearch 2.19.x — HNSW graphs with SIMD acceleration via simsimd. The fast path for similarity queries.

Learn more →

Inner-product metric

Distance is Inner Product (MetricKind::IP) with F32 quantization (ScalarKind::F32). Suited to normalised embeddings where cosine ranking is what you want.

Learn more →

Metadata & persistence

SQLite you can open, back up, and reason about

SQLite metadata

Chunk text and metadata live in a plain SQLite table (chunks_<database_id>). Open it in sqlite3, inspect it, back it up with cp. No opaque store.

Learn more →

Per-partition persistence

Each database_id gets its own SQLite table and its own <database_id>.usearch index file, using SQLite WAL. Isolation is by name; a partition is two files on disk.

Learn more →

HTTP surface

Three endpoints and browsable OpenAPI docs via Actix-web

Actix-web HTTP API

A single binary starts an Actix-web server (default 127.0.0.1:8083) exposing three endpoints: POST /v1/insert, POST /v1/search, DELETE /v1/drop.

Learn more →

OpenAPI docs built in

apistos generates an OpenAPI spec served through Swagger UI, Redoc, RapiDoc, and Scalar at /swagger, /redoc, /rapidoc, and /scalar. Explore the API in the browser.

Learn more →

Shape & operations

A single binary that writes two files — nothing to orchestrate

Embed as a library

memista is a crate first. Pull in create_app and AppState and mount the same handlers inside your own Actix binary — or run the bundled server as-is.

Learn more →

One process, two files

No Docker, no sidecar, no cluster. A partition is a .db and a .usearch file next to your app. The right shape for edge, desktop, and local-AI workloads.

Learn more →

See how it compares

Grounded comparisons against USearch, hnsw_rs, pgvector, and Qdrant.