A search cluster that cost too much and buckled under load
Restaurant platform that processes high volumes of search queries across a large inventory of restaurant listings, reservations, and availability data. Their Elasticsearch cluster had grown to 12 nodes costing approximately $5,000 per month — but performance wasn't scaling proportionally. Under heavy traffic, CPU and memory utilisation spiked unpredictably, and the engineering team was spending time on firefighting rather than building product.
The root cause wasn't the volume of data — it was how the cluster had been configured over time. Index mappings had accumulated without review, shard and replica counts were set to defaults rather than tuned for actual query patterns, and field types were misaligned with their use cases.







