What is a Search Experience | Yext Hitchhikers Platform
What You’ll Learn
By the end of this unit, you will be able to:
- Define the three main components of search
- Describe how each of those three components impacts the Search experience and each other
- Identify which component allows you to manage certain behaviors in Search
Search experiences can come in all shapes and sizes. Here are some examples of use cases for Yext Search:
- Site search: Search through all the pages on your website
- Intranet search: Search for documents and information across your workplace
- Locators: Search for locations by proximity or by geolocation
However, no matter what type of Search experience you build, there are three components that every Search experience needs, which we’ll cover in this unit.
Three Components of Search
A Yext Search experience is made up of three things:
- Search Backend: configures how the Search algorithm determines which results are selected
- Search Frontend: determines how results are displayed
- Content: stores the entities and content about your brand
The Search backend is comprised of the Search configuration and the Search algorithm.
All Search experiences are controlled by a Search configuration that contains all of the business-specific logic needed for the Search algorithm to determine the best results for each query. You can do things like specify which entity types and fields are searchable, boost or sort results, and add synonyms specific to your brand.
The Search algorithm uses the business rules you define in the Search configuration to traverse the Content and determine the result set. Yext’s Product and Engineering teams are constantly analyzing, improving and optimizing the Search algorithms to make sure that we can deliver a world-class search experience to our customers.
You’ll learn all about how the algorithm works, including how query tokenization, natural language processing, and machine learning can impact search results in the unit. For now, it’s important to remember that it exists for the purpose of identifying the best results for each query.
What results are returned and search quality – whether the search results meets the user’s intent for the search – are affected by the Search configuration, the Search algorithms, and the Content.
For example, if someone searched for “financial advisor who speaks mandarin”, you need all three areas to produce results.
The Content needs to have financial advisors, a field for languages on the financial advisor, the languages field filled out, and an advisor that actually speaks Mandarin.
The Search Configuration must have a vertical defined for financial advisors and be set to search the languages field in this vertical.
If all of the above is true, the Search algorithms must still return these financial advisors. This is the only lever out of the three that is controlled by Yext, so you’ll need to contact Support for assistance.
Keep in mind that search quality can also change over time. User search trends and the algorithm evolve over time and your Content can change.
Once the Search backend determines which results to return, it passes the information via the Search API to the Search frontend, which determines what the user sees when they ask a question. This includes how the results page is structured, what each results card looks like, and other optional features you can use like facets or user-controlled sorting.
With Search, the display of the page is separate from the fields that are searched via the Search configuration. For example, you could display the business hours on a location card, but choose not to have hours be searchable in the backend. Inversely, you could also choose to make hours searchable, but not display on the card.
There are different ways to build Search frontends. The most common ways are to use our Pages no/low-code UI if you have no coding experience or to use our open-source React libraries if you’re a developer. We’ll go into more detail about the different options in the unit.
Just like Yext’s other products, Search sits on top of the Content. The Content impacts Search in two critical ways:
- Backend: Helping the algorithm determine the right results
- Frontend: Displaying data in the frontend results pages and cards
You may have 100 fields in Content, many of which are purpose-built for other products or internal use that you might not want surfaced in Search. In the Search configuration, you can control which fields are searchable. In the Search frontend, you can map data on results cards to fields on entities.
You’ll want to set up your Content, specifically entity types and fields, in the way that you want them to be searched or displayed.
To help you picture what we’re talking about, let’s look at some examples.
Here at Yext we have at least two separate Search experiences delivering different types of answers for you, our customer! We won’t share screenshots as these experiences may change over time, but we’ve included the links below for you to take a look and run some searches.
These are both powered on top of the same platform, using over 15 different entity types. However, they are separate Search experiences because we wanted different content, styling, and search behavior between the Yext website and Hitchhikers site.
As another example, here’s a look at our experience with a query run:
You’ll notice there’s a prominent search bar for users to search with and tabs for them to run searches on other verticals. In the results section below there’s a direct answer, as well as results from two verticals: help articles and FAQs. You’ll learn more about what each of these mean in the coming resources.
In all of these examples, you’re only seeing the Search frontend; since this is where results are displayed, it’s the only component users interact with. The Search backend and Content are working under the hood to provide results which show on the frontend.