Building the World’s Fastest Doctor Finder
Imagine you are challenged with building the world’s most amazing doctor finder. Where would you begin? The user experience studying users’ habits, relevancy and search patterns? Data architecture and choosing a mongo database (show me your super cache)? Traversing the ether for the “best” search technology? How about all of the above?
The good news is this was not our first doctor finder – we learned a lot from user testing, iterations of interface design and deep search analytics. It’s easy to get lost thinking about all of the data we reviewed – top searches, top returning searches, average number of characters per search (search peeps are lazy), number of words used in the string query, etc. – or my favorite – average hits with and without typos. I mean how are you going to build a synonym list or alternative correction thresholds without this stuff?
Let’s start with what’s most important to the user – speed and relevance. While it sounds like common sense, make no mistake about the importance of these axioms. In considering the different ways to architect a search (transactional, navigational, informational, etc.) and ways to assist the user (type-ahead, guided navigation, etc.) – the possibilities are endless. We decided to focus on speed and relevance and challenged ourselves to find a technology where the whole page (results, facets and filters) updated with each keystroke.
Our findings? Instant Search by the folks at Algolia.
% of Queries
% of Queries
An amazing suite of technologies that allowed us to meet all of our goals and create the most relevant and fastest doctor search in the world (we average < 3ms per query).
While there is so much to write about Algolia’s features, their tie-breaking algorithm set them apart from all other search technologies. The algorithm resolves typos (orthopedic or othopedic), and geo-locates results and exact matches in combination with a doctor’s textual and business relevant attributes (e.g., specialty, location, education, name, etc.). Additionally, it provides an interface to fine tune each of these areas.
In creating the new experience, we began by looking at several key areas. First, what does a user want from a doctor search? How do they browse?
What are the “searchable attributes” (see right) and how does a user rank their importance? Is a doctor’s name more important than his/her specialty? Does a user find comfort in a doctor closer to their home? Or one who went to a reputable school?
Next, we defined the “facets” for display (categories of like things).
- Last Name
- First Name
- Area of Expertise
- Geo Location
Often times facets are the same as the searchable attributes, however in this case our user testing came up with a slightly different set of results: it was clear that language and location were important and should assist a user. This included a custom ranking formula and adding precision to typo-tolerance and interpretations.
One of the most fascinating parts of the experience was defining synonyms, alternative corrections and placeholders. The medical field is very particular when it comes to it’s terms.
Lastly, we added some “humanization” to each doctor through the use of video. A user can simply click on a doctor and see him/her speaking and interacting with patients!
The results? A successful doctor finder experience that provides dynamic results with each keystroke – names, specialties, areas of expertise, locations and languages spoken – all under 3 milliseconds. User’s can get healthy – one keystroke at a time.
We invite you to test the experience for yourself, here.