So you've built an app or a product, and now you want search to be really good. In my experience, there are five main concepts you need to nail to get a solid search experience. Get them right and search feels effortless. Miss one and your users will notice.
1. Indexes, or what you're actually searching for
The first thing to figure out is what people are actually searching for. In the search world, we call these indexes.
Take IMDb. When you search there, you're usually looking for movies or actors. Those are the indexes you're searching against. Everything else about search builds on this decision, so get clear on it first.
2. The fields each index can be searched by
Next, decide which fields each index can be searched against.
For movies, the title is the obvious one. But you might also want people to search by where the movie was filmed, or by the actors who were in it. Actors work the same way. Their name is the obvious field, but you might add their birth year, their birth state, or the movies they've been in.
There are plenty of other fields you could include. The goal is to pick them based on how your users actually look for things.
3. Refinement
Refinement is similar to fields, but it happens after the search. Once someone gets their results, they often want to narrow them down further.
This is one of the most common patterns in search. On Amazon or IMDb, for example, you can filter results by star rating, whether you're looking at products, movies or actors. When a results list gets long, refinement is what keeps it useful.
4. Ranking
Ranking is probably the most important of the five.
Say someone types "Oklahoma." They might want actors who were born in Oklahoma. They might want actors who were in the movie Oklahoma. You have to decide how to rank those results.
The most common approach is to prioritize certain fields. The title usually comes first, maybe filming location is second, and the actors in the movie are third.
A lot of social platforms take another approach and use a computed value, which is basically a score. That might be a measure of someone's social value, and results are ranked by it. You can also prioritize certain results outright, like showing premium subscribers first.
There are many different ways to handle ranking. The right one depends on what your users need to find first.
5. User experience
The last piece is what happens when someone starts typing. There are typically two approaches.
One is to guess what they're searching for and suggest it, which is what you see on Google. The other is to show the actual search results, which is what you see on IMDb. With that second approach, the user can click a result and go straight to the detail page, which is where they take action or buy.
Which one fits depends on your product and what you want people to do next.
Getting search right
These are just a few of the approaches. Search looks simple from the outside, but each of these five pieces takes real decisions about your data and your users.
At Rapptr, we've done these implementations many times, and we can help you nail search in your app. If you're planning a search feature or trying to fix one that isn't working, reach out and I'm happy to talk it through.




