Install memista and run the server
Add the crate, start the bundled Actix-web server on 127.0.0.1:8083, and confirm the three endpoints and OpenAPI docs are live.
memista ships as a crate with a bundled server binary. This guide gets you from zero to a running index with data in it.
1. Add the crate
cargo add memista
memista targets Rust 1.56+. It pulls in USearch (with the simsimd and
fp16lib features) for the index and async-sqlite for metadata storage.
2. Start the server
Run the bundled binary. By default it binds to 127.0.0.1:8083 and exposes
three endpoints:
POST /v1/insert— add chunksPOST /v1/search— nearest-neighbour queryDELETE /v1/drop— drop a partition
memista binds to localhost and trusts everything on the wire. There is no authentication. If you expose it beyond the box, put a reverse proxy in front and terminate auth there.
3. Explore the API in the browser
The OpenAPI spec is generated by apistos and rendered four ways:
/swagger · /redoc · /rapidoc · /scalar
4. Insert and search
curl -X POST http://localhost:8083/v1/insert \
-H "Content-Type: application/json" \
-d '{"database_id":"my_app","chunks":[{"embedding":[0.1,0.2],"text":"Hello world","metadata":"{}"}]}'
Then query:
curl -X POST http://localhost:8083/v1/search \
-H "Content-Type: application/json" \
-d '{"database_id":"my_app","query":[0.1,0.2],"limit":5}'
You’ll get back ranked chunk ids with their text, metadata, and distance.
Next: insert vectors over HTTP, run a nearest-neighbour search, or read how it works.
Frequently Asked Questions
What Rust version does memista need?
Rust 1.56 or newer. memista is a standard crate; cargo add memista pulls it in.
What port does the server use by default?
127.0.0.1:8083. It binds to localhost and does not authenticate — put a reverse proxy in front if it leaves the box.