Skip to content

Scaling OpenSearch Past the Breaking Point: Sub-Second Search at 10× Catalogue Growth

Rebuilt the search and discovery layer for a luxury e-commerce platform by migrating from legacy RDBMS to OpenSearch with multilingual support and real-time catalogue sync.

12× faster queries
4.2s → 0.35s latency
01 — The problem

What we were solving

High SKU churn, promotional pricing, and multiple storefront languages across the GCC and Europe.

  • Full-text queries against relational tables degraded as catalogues grew past millions of rows.
  • Merchandising updates lagged in search results, hurting campaign conversion.
  • Transliteration and mixed-language queries returned poor relevance scores.
02 — The approach

What we built

  1. Modelled products, attributes, and availability as denormalised search documents.
  2. Used CDC streams so inventory and price changes appear in search within seconds.
  3. Tuned analysers per language and layered business boosts for campaigns.
Architecture notes for your engineers
  • Bulk reindex strategy with blue/green aliases to avoid customer-facing downtime.
05 — Outcomes

Key results

  • 12× faster queries at p95 (4.2s → 0.35s)
  • Real-time data consistency via CDC
  • Multilingual support across 12+ languages
  • Scalable search foundation
06 — Stack

What it was built on

Representative tools and patterns — exact vendors vary per client environment.

Search

OpenSearchCustom scoringPer-field analysers

Data movement

CDC (Debezium-style or native)Kafka topicsIdempotent writers

Serving

API layerRedis cache for hot queriesCDN for static assets
07 — Learnings

What we'd tell the next team

  • Search is a data product - treat schema migrations like app releases.
  • Measure p95 and zero-result rate, not just average latency.
  • Run shadow queries in prod before cutover; relevance regressions are subtle.
FAQ

Questions this engagement anticipated

Why CDC instead of nightly batch?

Campaign pricing and inventory accuracy directly affect conversion - near-real-time sync keeps merchandising promises aligned with what shoppers see in search.

What multilingual pitfalls were addressed?

Transliteration and mixed-language queries required tuned analysers and layered boosts so relevance stayed stable across storefront languages.

What actually breaks first when a catalogue scales 10×?

Relevance tuning built for a small catalogue degrades quietly before latency does - zero-result rate and p95 query time crept up long before anything looked broken on a dashboard, which is why both were tracked explicitly during scale-up.

Related reading

This is one of several case studies on data engineering & legacy migrations.

See the rest of the cluster →

Compare your situation to this case.

Bring your constraints - environment, timeline, and budget. We scope before we quote.

Get started

Leave your email - we'll reach out.

Share your work email and we'll follow up with a tailored note on security, AI, or data programmes - usually within one business day.

No spam. We only use your email to respond to this request.

Explore services →