Design a simplified version of Google Search. Your system should allow users to input a query (keywords) and return the most relevant web pages ranked by importance.
Functional Requirements:
- Users can submit a text query.
- The system returns the top k most relevant search results.
- Each search result should include:
- Title
- Snippet (short preview)
- URL
- Handle queries in real time (low latency).
Non-Functional Requirements:
- Highly scalable to billions of web pages and millions of queries per second.
- High availability and fault tolerance.
- Low query latency (< 200 ms).