Your search box returns results in 80ms.
Then you add 50M more documents. Now it's 4 seconds.
Your DBA says "add an index." Your search engineer says "that's not how this works."
They're both right — about different things.
Here's the setup:
Platform: SaaS product, 100M documents
Search fields: title, description, tags, partial phrases
Current stack: PostgreSQL full-text search
Current perf: p95 = 4.2s
Target: sub-200ms at p99
Product is escalating. What do you do?
A) Migrate to Elasticsearch — inverted index, purpose-built for full-text, sub-100ms at scale.
B) Add GIN indexes on your PostgreSQL tsvector columns — no new infra, meaningful performance gain.
C) Cache the top 1,000 most common queries in Redis — free win for the majority of traffic.
D) Move to Typesense or Meilisearch — simpler ops than Elasticsearch, built for search.
Three of these solve something real. Only one solves the problem you actually have.
Pick one — A, B, C, or D — and tell me why. I'll drop the full breakdown in the comments (including why two "almost right" answers get you partway there and then hit a wall).
Drop your answer 👇








