Postgres has built-in full-text search via tsvector, GIN indexes, websearch_to_tsquery, and ts_rank — covering stemming, relevance ranking, phrase queries, and highlighted snippets without any external search engine. A generated tsvector column with weighted fields (title vs body) plus a GIN index is all that's needed for ranked search. Typo tolerance is handled by the pg_trgm extension using trigram similarity, enabling 'did you mean' suggestions from within the same database. The post walks through a complete TypeScript/Bun demo against Prisma Postgres, showing ranking, stemming, websearch syntax, and trigram fallback in action. Elasticsearch still wins for corpus-wide BM25 relevance tuning, faceted analytics at scale, log/event search, and multi-language pipelines — but for most apps, Postgres already handles the job.