Tachyontachyon

The lightest-weight search engines for small teams and side projects

Search engines that run comfortably on a single small instance, for teams who don't want to operate a cluster for a side project or an early-stage product.

Not every search problem needs Elasticsearch-scale infrastructure. If you're a small team, a side project, or an early-stage product, the search engine you want is one you can run on a $5–20/month instance, forget about, and upgrade later if you actually outgrow it. Here's an honest rundown of the lightest-weight options, ranked roughly by how little they ask of you operationally.

Postgres full-text search (not a separate engine at all)

If you already run Postgres and don't need typo tolerance or heavy faceting, tsvector/tsquery with a GIN index is genuinely the lightest option — zero new services. See Tachyon vs. PostgreSQL Full-Text Search for exactly where it stops being enough.

Tachyon

Single Rust binary, one REST API, no external dependencies, no JVM. Runs comfortably on a small instance because memory usage tracks how much of the corpus is actually being queried rather than total corpus size — see Persistence. BM25 relevance and typo tolerance are on by default with no configuration required to get good results immediately. No vector search, no clustering — deliberately, in exchange for staying small. Getting Started is a docker run away.

Meilisearch

Single Rust binary built on LMDB, genuinely lightweight, and tuned specifically to make instant-search-as-you-type feel good with minimal configuration — a strong pick if the whole feature you're building is a search box. See Tachyon vs. Meilisearch.

Typesense

Single binary, typo-tolerant out of the box, broader feature set than Tachyon or Meilisearch (vector, geo). The one caveat for a genuinely small instance: its RAM-resident index means memory scales with corpus size more directly than the mmap-based engines on this list — worth checking against your expected data size. See Tachyon vs. Typesense.

Sonic

About as small as a search engine gets: a lightweight, Rust-based index with a minimal custom protocol instead of a full REST API. Worth it if you want the absolute smallest footprint and are willing to build more of the search UX yourself — closer to a library-with-a-server than a full product.

What to skip for a small project

Elasticsearch, OpenSearch, and (for most side projects) Algolia's pricing model are all a mismatch here — the first two bring cluster operations and a JVM to a problem that doesn't need either, and Algolia's usage-based pricing is built for scale you likely don't have yet. None of them are wrong, they're just heavier than a small team needs to start with.

Picking between them

If you already run Postgres and your needs are simple, start there — add nothing. If you want a dedicated engine with good relevance and typo tolerance out of the box and the smallest possible thing to operate, Tachyon or Meilisearch are both strong choices; reach for Typesense specifically if you know you'll need vector or geo search soon.

On this page