Product catalog search
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