It’s generally accepted that most searches are for navigation purposes, rather than discovering content; here’s some recent data by Google on this. One key factor here is whether the user already knows that there is only one relevant endpoint.
For example, if users search for a Ticket ID in a defect tracker like Apache Bloodhound, they likely already know that it exists. Also, because it’s in a fairly closed system, there is only one correct answer.
When users already know what they’re looking for and this can be determined by the nature of the query itself, it would be acceptable to redirect them directly to the result. The real problem here is how you determine that. If you consider the example of a Ticket ID that I gave earlier, the search may as well be for other items that refer to this ticket, rather than the ticket itself. An automatic redirect wouldn’t allow this. Apache Bloodhound attempts to solve this by hinting at the simple syntax (draft) you need to navigate directly in the search box, in this case a # followed by the Ticket ID.
When a search returns no results, you should deal with the problem similarly to when a user navigates to a place that returns a 404 error. Provide a sitemap, some popular links and best guesses.
You may Also Like: