Product catalog search

DesignEasy25 min

Your task

Design a search box for a small product catalog (about 5,000 items: name, category, short description). When a user types, you want to return matching products quickly, including partial matches like 'blu' matching 'blue shirt'. Reads are frequent (every keystroke can search), writes are rare (catalog updated a few times a week). Describe your data model and how you'd serve the queries.

It covers

  • Prefix search
  • Indexing
  • Small catalog