← All projects
DriftIndex
a lightweight search server compatible with the Elasticsearch API
Alpha version. For now DriftIndex works in a very limited way: it supports only a narrow, chosen subset of Elasticsearch queries, and its API may still change. It’s meant for tests and local development, not as a production replacement for Elasticsearch.
DriftIndex is a search server written in D that understands a chosen slice of the Elasticsearch REST API. It was built for integration tests and local development: where full Elasticsearch eats too much memory, DriftIndex answers the queries you actually use the same way, with a fraction of the RAM. It’s alpha — performance, data durability and production security are deliberately out of scope.
What it does
- Compatible with a chosen subset of the Elasticsearch REST API and query DSL (including bool with filter/must).
- As little memory as possible — cheap to run next to the app it supports.
- Data on a /data volume, or fully in memory (DRIFTINDEX_IN_MEMORY=true).
- Docker images for Debian, Ubuntu, Fedora, Alpine and Raspberry Pi OS, on AMD64, ARM64, ARM32V7, ARM32V6, RISCV64, PPC64LE and LOONG64.
- Stands in for Elasticsearch in the laserovsky.net blog’s development setup.
Getting started
$ docker run --rm -p 9200:9200 starxen/driftindex
$ curl http://localhost:9200/Code on GitLab →