Add full-text search to a web app without running Elasticsearch or similar heavy infrastructure.
Build a chat platform that indexes messages across millions of conversations with minimal server resources.
Create per-user or per-tenant search indexes by organizing data into separate Sonic collections and buckets.
Implement real-time search suggestions and typo-tolerant queries in a mobile or web application.
Requires Rust toolchain installation and understanding of Sonic Channel protocol for integration.
Sonic is a small, fast search backend you run alongside your application to power text search and auto-complete. It is pitched as a lightweight alternative to heavier search systems like Elasticsearch, the README says it eats around 30MB of RAM and responds to queries in microseconds, and it is schema-less, so you do not have to define field types up front. The key idea is that Sonic is not a document store. When you index text, you push the text together with an identifier (such as a row ID from your real database). When you query, Sonic returns those identifiers, and you look up the actual records elsewhere. This keeps Sonic itself tiny: it holds a word graph used for matching, auto-completion, and typo correction, but not the full text of your documents. Search terms are organized into collections and buckets, which lets you keep a separate index per user or per tenant. It auto-completes words in real time through a suggest operation, normalises queries, removes stop words across 80+ supported languages, and corrects typos when there are too few exact matches. You and your app talk to Sonic over a simple line-based protocol called Sonic Channel, with client libraries available. You would reach for Sonic when you need fast in-app search or autocomplete, for example over messages, helpdesk articles, contacts, or product names, without standing up a much larger search cluster. The README notes it powers search across the Crisp platform on a small cloud server. Sonic is built in Rust, uses RocksDB as a storage dependency, and is distributed as source via Cargo, as Debian packages, and through Docker Hub. The full README is longer than what was provided.
Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.