Global Catalogue Search.
A unified search layer across Wine Adore's fragmented product catalogue — wines, events, and restaurants — accessible from a single query input. A custom query parser runs before dispatching to Typesense, extracting structured signals: vintage year (regex on 4-digit tokens), wine type (red / white / rosé / sparkling), and country of origin from a curated dictionary.
Prices are always served live from PostgreSQL rather than the search index, ensuring figures shown to users are never stale from index lag. When Typesense is unreachable, queries route transparently to a Postgres full-text search fallback with no additional latency overhead exposed to the client.
Query intent parser: vintage extraction (e.g. '2019 Bordeaux'), wine type classification, country disambiguation from a curated dictionary
Typesense handles text relevance; Postgres is the authoritative price source — never indexed into the search cluster
Transparent DB fallback activates on Typesense unavailability — no client-visible error or latency spike
Single API endpoint unifies 3 document collections (wines, events, restaurants) behind a consistent response contract