Problem Statement

Lesson 10 of 7410 minSearch Ranking SystemsPremium lesson preview
In this lesson3 sections

Problem Statement

Define what the search system must rank before choosing an architecture. This case study assumes a general search engine, billions of documents, about 10K queries per second, and logged-in users whose profile and search history are available.

Interview prompt

Design a search relevance system that orders results for a search query.

Clarifying questions

Let’s clarify the problem statement by specifying three aspects: scope, scale, and personalization.

Problem scope

Ask questions that resolve a design decision, then agree on the scope. Start with the type of search engine:

Is it a general search engine like Google or Bing or a specialized search engine like Amazon products search?

For this chapter, assume a general search engine such as Google or Bing. The discussion also informs specialized search, but keep the chosen scope explicit while working through the case.

Finally, the problem statement can be precisely described as:

Build a generic search engine that returns relevant results for queries like “Richard Nixon”, “Programming languages” etc.

This will require you to build a machine learning system that provides the most relevant results for a search query by ranking them in order of relevance. Therefore, you will be working on the search ranking problem.

Premium Content

Upgrade to Premium to unlock this lesson and all other premium content.