delta-search
is a simple database engine created for learning purposes and built in Rust 🦀
To see delta-search
in action and understand how to use it, check out the different examples.
delta-search
can be run in Docker by building the image:
docker build -t delta-search .
And then starting a container:
docker run -dp 127.0.0.1:3000:3000 --rm --name delta-search delta-search
Or using docker-compose
:
docker compose up
You can execute different operations via REST API to create and update entities, as well as running queries. The API
is available after running delta-search
via:
cargo run --release
POST /entities/{entity_name}
: define a new entity with a given name.PUT /data/{entity_name}
: store data in bulk in an entity entry.PUT /indices/{entity_name}
: create a new index for a given property in an entity entry.GET /indices/{entity_name}/options
: list the filter options available for the faceted search.POST /indices/{entity_name}/search
: send a search query for a given entity.
delta-search
aims to provide simple filtering and sorting capabilities, while allowing to apply temporary deltas in
memory, on top of the existing data stored on disk using LMDB. This is especially interesting when visualizing
potential changes in your data without persisting them yet.