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.