Steven's Knowledge

Search

Search-as-a-service - Algolia, Meilisearch, Typesense for fast, typo-tolerant, relevant search beyond Elasticsearch

Search

Real-time, typo-tolerant, relevance-tuned search is hard. Elasticsearch can do it but is heavy — built for log analytics first, search second. A newer class of search-as-a-service and dedicated search engines trades flexibility for speed, ergonomics, and lower operational overhead.

This page covers those alternatives: Algolia (SaaS leader), Meilisearch and Typesense (open-source, self-hostable), and how to choose.

For full-text logs and analytics, see ELK.

Why a Dedicated Search Engine

Without oneWith one
LIKE %query% on Postgres → slow, no typo tolerance< 10 ms instant search
Hand-tuned relevance scoringBuilt-in: typo, prefix, geo, custom ranking
Synonyms in application codeFirst-class feature
Facets / filters / sorting on every pageBuilt-in, fast
Search UI built from scratchOpen-source InstantSearch components
Re-indexing on every schema changeIndex updates as you write

The threshold for "you need real search" is lower than people think — a product catalog over a few thousand items, a docs site with non-trivial content, anywhere users type into a search box.

The Players

EngineTypeNotes
AlgoliaSaaS onlyThe pioneer; rich UI components; expensive at scale
MeilisearchOpen-source + Meilisearch CloudAlgolia-like ergonomics; self-host friendly
TypesenseOpen-source + Typesense CloudSame niche as Meilisearch; mature; multi-master clustering
ElasticsearchOpen-source + Elastic CloudMost flexible, most operational complexity
OpenSearchOpen-source (AWS-led fork of Elasticsearch)Same engine + AWS support
VespaOpen-sourceYahoo's heavyweight; ML-first ranking; complex
MeiliSearch / Typesense / Algolia"instant search" nicheThe focus of this page
Postgres FTSBuilt-inFree; OK at small scale; not in this niche
SQLite FTS5Built-inTiny scale; static sites work great
pgvector / Qdrant / Weaviate / PineconeVector searchDifferent problem — semantic, not keyword

Algolia vs Meilisearch vs Typesense

A side-by-side. Full comparison on its own page.

AspectAlgoliaMeilisearchTypesense
LicenseProprietary SaaSMIT (Cloud is paid)GPLv3 (Cloud is paid)
Self-hostNoYesYes
Speed (typical)<10 ms<50 ms<50 ms
Typo toleranceFirst-classFirst-classFirst-class
Faceting / filtersExcellentExcellentExcellent
Geo searchExcellentBuilt-inBuilt-in
Vector / hybrid searchYes (in Algolia AI)Yes (since 1.6)Yes
InstantSearch.js (UI library)First-partyFirst-class adapterFirst-class adapter
Multi-tenant / multi-indexExcellentYesYes
ClusteringN/A (SaaS)ComingMulti-master built-in
Pricing$$ — usage-based$ self-host / $$ cloud$ self-host / $$ cloud
When to choose"Just works", no ops, money no objectSelf-host, modern stack, growingSelf-host, need clustering today

Learning Path

What a Search Engine Solves

The interesting work happens inside the index. The engine handles:

FeatureWhat it means
TokenizationSplit text into searchable units (handles multiple languages)
Stemming"running" matches "run"
Typo tolerance"appel" matches "apple"
Synonyms"couch" and "sofa" match each other
Prefix search"appl" matches "apple" before you finish typing
Faceting"show me red shoes" — filter and aggregate by attribute
Custom rankingBoost in-stock items, demote out-of-stock
PersonalizationThis user clicked X before, rank X higher
Geo searchWithin radius / bounding box
Hybrid (vector + keyword)Combine semantic similarity with keyword match

You'd spend weeks building any one of these well from scratch. Search engines give you all of them, tuned.

When You Don't Need a Dedicated Search Engine

  • Small datasets (< few thousand docs) — Postgres FTS often suffices.
  • No typo tolerance / relevance needed — exact filters via SQL work.
  • Static siteslunr.js, pagefind, or even SQLite FTS5 at build time.
  • Internal tools — the UX bar is lower; simpler tools work.

A search engine is the right tool when users type into a box and expect magic. Otherwise, simpler tools usually win.

Search vs vector / semantic search: this page is about keyword search. For "find me documents semantically similar to this question" (RAG, recommendations), see vector databases — pgvector, Qdrant, Weaviate, Pinecone. Modern search engines (Algolia, Meilisearch, Typesense) all support hybrid keyword + vector search now, which is often the best of both worlds.

On this page