Sometimes, search is simple. The searcher types a few words into the search box, retrieves a ranked list of results, and selects the right one. Easy peasy.
Other times, search is more complex — particularly if the search query is broad or ambiguous. In such cases, the search query is just the first step in the seacher’s information-seeking journey. That journey can include a number of additional steps, such as restricting the results to a category, filtering by an aspect, sorting the results, or reformulating the query.
Simple search needs call for simple search experiences. When the searcher is pursuing a simple task, the search interface should gingerly stay out of the way, allowing the searcher to quickly find and consume the desired result.
Complex search needs are a different story. When a searcher embarks on a complex journey, the search engine should suggest the steps that will provide the best guidance to support that journey.
How does a search engine determine whether the searcher’s journey is simple or complex? And how does it determine which steps will be most useful?
Estimating the Complexity of the Search Journey
The first question is how to measure the complexity of the search journey. Here’s a simple measure: the total number of actions that the searcher takes along that journey. This measure glosses over the differences between actions, and particularly over the difference in searcher effort between, for example, clicking on a link and manually reformulating a query. Nonetheless, it is a simply way to quantify the complexity of the search journey.
Unfortunately, this measure is retrospective: there’s no way to know the complexity of the searcher’s journey until after the searcher completes it.
For frequent search queries, however, it’s possible to learn from historical search behavior. An estimate of the complexity of a journey is the average complexity of past journeys starting from that query.
For infrequent search queries, it’s possible to generalize from historical behavior using machine learning — specifically, a regression model based on historical search behavior, where queries are labeled with the complexity of the journeys for those queries. The queries can be represented as feature vectors using using word embeddings, entity recognition, result counts, histograms of category supply and demand, and any other available features.
The complexity of the search journey is a function of the query, the contents of the search index, the search user experience, and the searchers themselves. Hence, it’s important to keep analytics and models fresh as these evolve.
How to Support the Searcher’s Journey
Once the search engine determines that a searcher is on a complex journey, it needs to determine the steps that provide the best guidance for that journey.
For frequent search queries, it is possible to learn from historical search behavior. In particular, it’s possible to learn from the steps taken by successful searchers, e.g., the searchers on an ecommerce site who ultimately buy something. Indeed, a reasonable hypothesis is that other searchers might also be successful if they were nudged towards steps taken by successful searchers.
For example, consider the people who search for “shoes” on an ecommerce site. If most of the successful searchers select a size at some point in their search journeys, then the search engine should make size selection easy and obvious, e.g., by placing a size-selection widget in the search interface’s prime real estate. Another example: people who search for “algebra” in a library catalog are far more likely to be successful after they’ve clarified, either through a filter or a query reformulation, whether they are interested in high-school elementary algebra or university-level abstract algebra.
In order to make this process tractable, it’s important to organize potential steps into a small set of options, e.g., category disambiguation, aspect guidance, and suggested query reformulations. Even with large amounts of historical data, it is necessary to abstract from the specific journeys to identify the broadly useful steps.
For infrequent search queries, it’s again possible to generalize using machine learning. The model can use same features that were helpful to estimate the complexity of the search journey, only now in the context of a classification model to determine which kinds of steps would be most useful.
Search is a Journey and a Destination
Not all search needs are complex. When the searcher has a simple search need, the search engine should not complicate the experience; it should lead the searcher to the desired result as quickly and painlessly as possible.
But some search needs are complex. And when search engines fail to provide guidance, many searchers suffer the consequences. The difference between a mediocre search experience and a great search experience often comes down to the support that a search engine provides for complex search needs.
Search is a journey, and the searcher should enjoy that journey. But the best search journeys are the ones that ultimately reach their destinations.