← All repos

sonic

🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.

backenddatabasegraphindexinfrastructurerustsearchsearch-enginesearch-serverserver
Browse cluster: SQL databases and distributed systems
1,100commits
47contributors
0languages

Tech stack & purpose

Sonic is a fast, lightweight, and schema-less search backend written in Rust that serves as an alternative to Elasticsearch for certain use cases. It ingests search texts and identifier tuples, then returns matching object identifiers in microsecond response times while consuming minimal memory and CPU resources. The project is built in Rust and uses RocksDB as a key-value store alongside a finite-state transducer (FST) for indexing, communicating with clients through a simple TCP-based protocol called Sonic Channel. Sonic was created by Valerian Saliou and is used in production by companies including Crisp and Scrumpy, with the official Rust client library (`sonic_client`) maintained as part of the core project.

Contributors (top 30 of 47)