Sonic
Fast, lightweight and schema-less search backend written in Rust.
Why consider Sonic?
Sonic is an ultra-fast, lightweight search backend designed as a simple alternative to Elasticsearch. It operates like a search indexer daemon with minimal memory usage (under 30MB RAM).
Learn Sonic by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide3 sections
Overview of Sonic
Sonic acts as a search index gateway rather than a full document store. You store your source documents in PostgreSQL, MySQL, or MongoDB, and push text identifiers to Sonic. When users search, Sonic returns exact matching IDs in sub-millisecond response times.
Running with Docker
docker run -d \ --name sonic \ -p 1491:1491 \ -v $(pwd)/config.cfg:/etc/sonic.cfg \ -v $(pwd)/data/store/:/var/lib/sonic/store/ \ valeriansaliou/sonic:latestClient Protocol Interaction
Connect over TCP using the Sonic protocol or official language SDKs (Node.js, Python, Go):
TRIGGER search messages default "hello world"EVENT PENDING search 1234EVENT RESULT search 1234 msg_1 msg_42 msg_89Sonic is distributed under the Mozilla Public License Version 2.0 (MPL-2.0).
Related tools
More options with a similar category or technology profile.
diskus
Minimal, fast alternative to du -sh written in Rust using multi-threaded directory traversal.
peco
Simplistic interactive filtering tool for Unix pipelines, process lists, and file trees.
Dapr CLI
Command-line tool for managing Dapr distributed application runtime environments and sidecars.
Freeze
Generate beautiful image screenshots and SVGs of code snippets and terminal outputs.