Skip to content

aleics/delta-search

Repository files navigation

delta-search

CI status

delta-search is a simple database engine created for learning purposes and built in Rust 🦀

⚠️ Do not use in production environments.

Usage

To see delta-search in action and understand how to use it, check out the different examples.

Docker

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

API

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

REST API

  • 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.

Motivation

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.

About

A simple search engine written in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published