Elasticsearch to Postgres

  • Tech Stack: FastAPI, PostgreSQL, pg_search / pg_textsearch (BM25), PostGIS, Docker
  • Github URL: Project Link

A pair of proofs-of-concept showing that many Elasticsearch workloads can be served directly from PostgreSQL. One tab reproduces BM25 full-text ranking using the pg_search / pg_textsearch extensions, matching Elasticsearch results with roughly 95% overlap.

The second tab handles geo search with PostGIS and reaches 100% overlap with the equivalent Elasticsearch geo queries. The goal is to consolidate the stack onto Postgres — fewer moving parts, one source of truth — without giving up search quality.