Start here. This is the direct spoken answer to practice first.
Why this question matters
Search design connects product behavior and backend constraints. The API needs to feel flexible without letting clients create unbounded database or search-engine load.
I would start with the search use cases: free text, filters, sorting, pagination, and which fields are searchable. The API would expose a controlled query contract with allowed filters and sort options, not arbitrary SQL-like input. For simple cases, SQL indexes may be enough. For richer text search, ranking, stemming, typo tolerance, or facets, I would consider a search index such as Elasticsearch.