11 Autocomplete/typeahead

This chapter covers

  • Comparing autocomplete with search
  • Separating data collection and processing from querying
  • Processing a continuous data stream
  • Dividing a large aggregation pipeline into stages to reduce storage costs
  • Employing the byproducts of data processing pipelines for other purposes

We wish to design an autocomplete system. Autocomplete is a useful question to test a candidate’s ability to design a distributed system that continuously ingests and processes large amounts of data into a small (few MBs) data structure that users can query for a specific purpose. An autocomplete system obtains its data from strings submitted by up to billions of users and then processes this data into a weighted trie. When a ...

Get Acing the System Design Interview now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.