What Are The Requirements Of A Search Autocomplete System
Functional Requirements
The service should return a list of, say, 3 top suggestions, based on what the user types in the search box.
The suggestions are ordered according to the frequency and recency of their appearance in user searches.
Non-Functional Requirements
The service should be able to deliver the suggestions in real-time, as the user types in the query. This means that the latency should be very low.
The system should be able to scale to a large number of requests without any degradation in performance.
The system should be highly available.