I have an app that allows the user to search for specific services. If the user searches for a particular service that is 100% keyword match would it be confusing if we displayed the exact match at the top and partial matches thereafter?

i.e Search term = "carpet cleaning"

Results =

  • Carpet cleaning
  • Spring cleaning
  • Garden cleaning
  • Basement cleaning
  • Only the top result is carpet cleaning and the other services don't include carpet cleaning.

    I am worried the user thinks the other results include carpet cleaning but also want to give them visibility of similar services.

    • What do the users expect? Do they want all and only exact matches, assuming that they properly formed their query? If so, only exact results should be shown. They could be frustrated if they find nothing, and whether they hold you or themselves responsible is another key question. They might give up, or keep trying. I have seen search tools which return everything no matter what query I put in, which is just as aggravating. (Example, all Doctors in network, even if I tried to limit the search by area or last name.) – user67695 Aug 26 '16 at 13:19

    I'll give you a very passionate answer here: Yes, you must display partial search results even when exact matches exist.

    My background here is 10 years as a search UX consultant. My takeaway from these years is that:

    • Search is unintelligent
    • Data quality is never perfect
    • Editorial efforts are never thorough and persistent
    • Initially, and especially if search logs are missing, the designer won't know how users express themselves or all of their needs.

    Unless your service is the only exception, then the search will find technically exact matches, that still does not help the user achieve her objective. If you filter out a result that would have been helpful based on a purely algorith-driven assumption, then you are jeopardizing the fundamental value of your service.

    E.g. consider a search for "Antonio Carlos Jobim" on a streaming music service. You will get an exact match for the Brazilian artist. Does that mean you should exclude results for Antônio Carlos Jobim, Antônio Carlos Brasileiro de Almeida Jobim and Tom Jobim? Or should you exclude results where he is not the "artist", but rather the composer, is contributing to a compilation, is a featured artist, or is covered? In my experience, it is always best to show all results, but rank them as deftly as you can (if the content is public, a quick, cheap & good strategy is to use Google CSE). If you can afford it, provide intuitive grouping (my favourite is google.com's group results).

    To further consider google.com, undisputedly the market leader of online search. Obviously it does not hide other results even if it has exact matches. Also, if it can't find enough results (often referred to by search vendors as "documents") that contain all the terms in your query, then it will show you results where one or more query terms are missing. This behaviour is consistent across all the vendors, including Yahoo, Bing, FAST and Elasticsearch. Not only has this pattern made practical sense for the vast majority of installations. It also sets user expectations.

    Of course, you will find non fuzzy search services too, such as the internal searches in many apps, e.g. Apple Music. However, you will be hard pressed to find research that conclude that these search services are best of breed. Rather, such behavior is typically found in services where the search is not a key diffrentiator.

    Are there no well functioning exceptions? Yes: Wikipedia. On their English-language version, note the behaviour if you type "Prometheus" into their search field: You skip the search results template entirely and are forwarded to the article on the Greek mythological figure. But upon arriving there, Wikipedia employs an additional UX safeguard: They provide a "Prometheus (disambiguation)" link that takes you to a results page tailored by a trained & active community of editors. It works well* for an organization with Wikipedia's data set and manpower, but such a persistent effort will be prohibitively expensive for most clients. The OP has not revealed neither the need nor the ability to expand into this advanced territory.

    So, from a general methodology perspective, if you deviate from a universally established design pattern, you must have a very thorough, well researched rationale, or you impose a significant risk on your client.

    If you anyway choose to remove non-exact matches:

    • Monitor the search logs closely, and make absolutely sure that you are not filtering out results that could be useful.
    • Come back here and let us know about your experience :-)

    * Assumedly, based on personal experience.

    • You already stated the challenges (Search is unintelligent, Data quality is never perfect, Editorial efforts are never thorough and persistent). Yet you are not acting on it rather exploit the vulnerabilities. Which is against the fundamentals of UX. If your intention is toward spamming and marketing then the idea you have is not appropriate under UX. – jonT Aug 24 '16 at 20:42
    • 1
      @JonT I'm in no way soliciting spamming or marketing. I'm trying to get this point across: Since search is automated, and since it demonstrably has the weaknesses described, removing the suggested results will inevitably also remove desired results. This is why all the leading vendors implement the described design pattern. From a methodology perspective, when specifying search services, you must have a very thorough, well researched reason if deviating from google.com. Otherwise you are asking your client to take a very significant risk for very little apparent gain. – bjornte Aug 25 '16 at 8:02
    • 1
      Ranking is the algorithm's way of saying, "I think this is the best match". The further down the list you get, the more partial it gets. – plainclothes Aug 25 '16 at 8:21
    • 1
      I disagree most strongly. E.g., type "current weather new york" into Google. Clearly, they understand what a vast majority of their user base means with this query, so they put the corresponding OneBox above the other results. However, they do not filter our the less relevant results. @plainclothes gave the succinct reasoning above. This is how I interpret your suggestion: "Without any research or data whatsoever to back up my claim, I opine it's best to make a search that goes contrary to google.com's established design patterns". If that's not a major risk, I don't know what is. – bjornte Aug 26 '16 at 9:03
    • 1
      This answer is well-researched and well-defended. I am not sure if the OP's proposed service is to run against the internet at large and massage the results somehow (users could just use Google if so) or if it runs against some much smaller, clean and proprietary list (pay a fee to be listed or something). If the list of prospective matches is smaller than what Google would be running against, then users could reasonably expect careful queries to return only a few "fully correct" results. It depends on the user expectation. If they wanted Google, likely they would not be using the OP's app. – user67695 Aug 26 '16 at 13:15

    It is important to show results that only matches the keyword, this helps user to navigate through the list quicker, in turn making your search function more efficient.

    Anything else outside the keyword can be shown in a separate list (in the same screen), which will give them visibility but at a lower priority. For example "Related Search"


    Lets put this into perspective. From your given sample, the answer would be NO. "Carpet cleaning" has no relation as per context to the other words you listed.

    If you were that user how would you feel and react when the results returned are outrageous? Would you still trust and use the service/function again? Probably not and you would rather go by catalog search and hoping would find your way for the product or service.

    If your intent is to support and up-sell product or service that will be fine as long as you limit and not exploit the search function. Amazon does this tactic.

    • Sorry, I should of mentioned that it is not completely random but a fuzzy search. Since the user searched "carpet cleaning" it shows the exact result plus all other "cleaning" results. – Andrea Tate Aug 8 '16 at 14:36
    • 1
      I couldn't disagree more with this answer. As long as the ranking of the results gives the user the best answer as the top result, why not show a little less probable results beneath that? @jonT seems to assume that users don't make mistakes (e.g., Google is wrong), and that recall is better than recognition. This is one of the main reasons why text based OS:s was replaced with graphical ones. – Henrik Ekblom Aug 30 '16 at 8:17

    I would say that displaying a partial results is better than no results at all. Triposo (http://triposo.com/) displays only a tiny "No suggestions" in top right of the search field which is easy to miss. Also if some people would like to link into your search, it's more useful to show at least something than nothing at all like Triposo does, example: http://triposo.com/loc/Washington_DC

    I have nothing against Triposo, in fact I really like it. I just used it for examples. :)


    There is a common pattern which does a fine job of balancing the needs of instant-gratification (high precision) and piecing-together-partials (high recall).

    1. Autocomplete to an exact match and enable selection-of-a-suggestion to bypass search results.
    2. Once "search" (or enter) is pressed, run the search and return ranked matches including partials.

    This way, confident users can avoid the cognitive load of visually parsing search results (of inconsistent relevance), while less confident users can fall back to traditional higher-recall search.

    Your Answer

    By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

    Not the answer you're looking for? Browse other questions tagged or ask your own question.