Improving Search Results | Yext Hitchhikers Platform
What You’ll Learn
In this section, you will learn:
- Common strategies to improve search results
- How to think about Knowledge Graph Updates vs. Configuration Changes vs. Algorithm Issues
Search Quality Improvements
As the name suggests, when you identify search terms that “need review” you’ll actually need to review them. Reviewing and optimizing queries is one of the primary functions of an Administrator post-launch and can really help to drive value for a brand. So, let’s dive in.
Per the Search Quality Levers you are hopefully all too familiar with at this point, there are 3 types of issues:
1) Data issue - data can be added to the Knowledge Graph or source system to fix the results. You can ask yourself:
- Does the relevant type even exist in the Knowledge Graph or do you need to add it?
- If the type exists, does it have the content that is being asked?
- If not, do you need to add a new field? Or do you need to fill out values on the existing field?
2) Configuration issue - an update can be made to the backend to fix the results
- Is there a vertical for the entity type?
- If so, is the data in question indexed via searchable fields?
- If so, is it using the “right” searchable field type? If it’s set as nlpFilter should it be textSearch instead? Or vice versa?
- Are there any synonyms that should be added?
3) Algorithm issue - there is a bug or core component of the algorithm that is causing this
- Is the algorithm interpreting the query as a location intent?
- Could it be due to your own geobiasing?
It’s typically easiest to evaluate in that order, but sometimes you’ll know immediately what the issue is and can skip a few steps as you get more confident.
Data issues mean that the Knowledge Graph or any external data sources simply don’t have the content that is being searched for. It can’t make it up!
For example, if someone searches for “marketing jobs” but there are no results, this could mean:
- You don’t have a Jobs entity type enabled. We recommend adding it if that’s a popular query cluster.
- You don’t have a Department field on the job to be able to differentiate between a job in “marketing” or “finance”. You can add that field and then set it as a searchable field in the search configuration, like you learned about in the Searchable Fields Unit .
- You have a Department field, but there are no open Jobs in marketing. If it’s a popular query cluster, you might want to tell the Marketing department that people are eager to apply, in case they’re considering opening up more reqs. In this case, there’s little you can do, because there just aren’t any jobs available that the user is looking for. You could make a UI update to improve the No Results component, or you could add an FAQ indicating that the Marketing department simply isn’t hiring right now.
If you have the data in the Knowledge Graph, it’s almost certainly a Configuration or Algorithm issue. For changes in the configuration, you’ll want to be careful that any updates that you make to improve one search term won’t negatively impact another. We’ll review how to monitor for this using Version Comparison in the last unit in this module.
In order to identify how to fix a search term, you might want to play around with your configuration. Before you do so, go to Configuration Labels and make sure that Production is set to an explicit label and not Latest. Conversely, make sure Staging is set to Latest. As you learned in the Configuration Overview module , this will allow you to test your latest changes in staging before promoting your production label to a stable version.
Once you do that, you can experiment by doing things like:
- Testing the impact of changing a field from nlpFilter to textSearch or vice versa
- Adding or removing fields to searchable fields
- Adding or removing synonyms