Search
Full-text and vector search options.
Self-hostable / open source
- ★ Meilisearch — fast, typo-tolerant, easy to deploy. Hosted plan free tier; self-host is straightforward.
- ★ Typesense — same niche as Meilisearch; faster on big indexes for some workloads. Free self-host; cheap managed cloud.
- OpenSearch — Elasticsearch fork; powerful, heavyweight.
- Elasticsearch — back to a permissive license; still the heavyweight choice.
- Sonic — minimal, fast, very lightweight. Great for hobby projects.
- Quickwit — log + search, Rust, distributed.
In-DB full-text
- Postgres full-text search with
tsvector+pg_trgm— covers 80% of use cases without a separate service. - Postgres +
pgvectorfor embeddings;pgvectorscalefor very large vector workloads. - SQLite FTS5 + libsql — surprisingly capable for app-tier search.
Hosted (free tier)
- Algolia — gold standard for instant search UX; free tier is small but real.
- Pinecone — vector DB; small free tier.
Browser / static
- ★ Pagefind — static-site search, runs entirely in the browser (no server). Used by many docs sites.
- Orama — full-text + vector that runs in the browser, Workers, or Node. Hybrid in-memory and on-disk modes.
- Lunr / MiniSearch / Fuse.js — older, smaller, in-browser.
Pick this if…
- Default app search, self-host: Meilisearch.
- Already on Postgres, simple search: Postgres FTS or
pgvector. - Static site / docs: Pagefind.
- Need instant-search UX, don't mind paying: Algolia.
- Vector / embeddings at scale:
pgvector(small) or Pinecone / Qdrant / Milvus (large).