Property Search OverhaulElasticsearch tuning & concurrency
Property search is a ranking problem wearing an infrastructure problem's clothes. Both needed fixing.
The problem
Search was slow and — worse — returning the wrong properties often enough that users stopped trusting it. Separately, concurrent booking flows were producing race conditions in production.
The approach
On search: cluster configuration for scalability and resilience, then rewriting the queries themselves in Elasticsearch Query DSL with bespoke aggregations for the filters people actually used. On concurrency: Mutex locks and atomic operations across the booking paths, plus recognised design patterns applied to the core services to make the code legible enough to reason about.
The outcome
Search response time down 50% with result accuracy up 35%. Race conditions reduced 60%, and codebase maintainability improved 15% by the team's own review measure. Also delivered the Primary Sales Tool — 20+ reports and a billing dashboard covering 250 projects — leading a team of three.