Recruiters are frustrated with the slow, keyword-only search in our candidate database. They need to quickly find the right people by mixing structured filters (years of experience, location, availability) with free‑text from resumes (skills, projects, certifications). We’re aiming for sub‑second results across 1M+ profiles without hitting our transactional MySQL for search. Please design and build a dedicated search service: maintain a fresh search index via an asynchronous pipeline where profile changes in MySQL publish to RabbitMQ, a Node.js/Express worker enriches and indexes into Elasticsearch, and a separate Express REST API translates recruiter queries into the Elasticsearch DSL and returns relevant, paginated results. Cover create/update/delete flows, relevance tuning, basic typo tolerance, and production‑grade monitoring so we can trust this in daily recruiting.