Start with The search route and template: it gives a minimal page in Smarty and Twig and shows how to declare its parameters so the page cache never serves one visitor's results to another, which is the first thing to get right. Queries, ranking and highlighting explains what a query matches and in what order, and how to print highlighted text without an escaping hole; read it before choosing a view's query settings.
Pagination and result counts covers the count's cap at 10,000 and page links that never lead to an error. Empty and zero-result states finishes the page: the starting state, a zero-result state with a way forward, and a failed search, which looks exactly like no results and needs a check outside the page to catch.