Search API Design Decisions
Learn the workflow of a search API and important technical considerations that direct its design.
For a search API to work efficiently, there are a number of services operating at the backend. In the previous lesson, we learned a pivotal service (the search service) of the search API. A typical search API might utilize a few auxiliary services. We’ll consider some of them in this lesson. We’ll also look at some technical considerations that will help us to design an effective search API.
Design overview
Consider the following diagram to see how the search API interacts with a number of services when a search query is received.
Let's discuss the role of each component and service shown in the diagram above.
Components and Services Details
Component or Service | Details |
Search service |
|
Recommendation service |
|
User service |
|
Ads service |
|
API gateway |
|
Database |
|
Note: An alternative to the recommendation service can be the typeahead service but we avoided that functionality because it will increase the complexity of our design. Typeahead is a separate design problem, and we leave it to the learner for further exploration.
The following section discusses how each component and service in the search system interacts with each other to fulfill the client's request. ...