If you’re seeing issues with the quality of your search results, i.e. the algorithm returns results that are different from what you would expect, you have a backend issue.
Below are the recommended steps to start debugging your backend issue. Configuration changes should apply immediately, so run searches again as you save changes to see if your issue is resolved. Once you resolve your issue, you may skip the remaining steps. If you’re still seeing an issue once you complete these steps, check out the help articles on troubleshooting specific issues for more guidance.
For a general approach to debugging the backend, check out Debugging the Backend training on Hitchhikers. We’ll use concepts discussed in that doc on this page.
- Open the search log for the query you’re seeing issues for. Either:
- Navigate to Search > [[Experience Name]] > Home or a Configuration sub-tab. Run a test search and then open Debug Query from the drop-down menu in a new tab.
- Check the API request: Select View Code from the drop-down menu.
- If there is a
BACKEND_ERROR
, this indicates an underlying issue. Please submit a support ticket for our engineering team to review.
- If there is a
- Check your configuration versions and labels: This is shown in the metadata at the top of the search log. Make sure you are using the correct version and label (staging or production). Oftentimes, unexpected results are caused by the experience pointing to an outdated version of the configuration.
- If you are using the wrong label, re-run the search in the correct deploy link or correct the label in Test Search.
- If you need to update these versions or want to check what versions are available:
- Navigate to Search > [[Experience Name]] > Configuration Labels.
- Click the dropdown for the relevant label to see what versions are available and select the one you would like to set it as.
- Each version in the dropdown shows the date and time it was saved. If you would like more info, navigate to the Configuration Versions screen to see who the version was updated by and to download the config.
- Check your locale: The locale of your search experience must match the locales of the entities you are trying to return. If your entity profiles are using a locale of “English” (en), then the requested locale needs to be exactly “en”. Requests for other similar locales like “en_GB” or “en_US” will only return profiles with that exact locale.
- Check the locale of the entity profiles.
- If your account only uses one language, navigate to Account Settings > Personal Settings and check what is filled in the Account Primary Language.
- If your account uses multiple languages, each entity may use a different locale. You can check the language on individual entities or export entities and include the “Profile Language” field.
- Cross check languages to locales with this Languages and Locales reference doc.
- Navigate to Search > [[Experience Name]] > Edit as JSON.
- Populate the
supportedLocales
property with a comma-separated list of relevant locales. Make sure each locale is included in quotes. The format should look like:"supportedLocales": ["de","es"],
- Check the locale of the entity profiles.
- Check back shortly: If this is a brand new account or if you recently made a significant number of updates to your entities (or to your config which affects a lot of entities), then changes may take a few minutes to appear. Re-run the search shortly to see if the results change.
- Check the Yext Trust site to see if there is a system-wide incident that may be causing a delay.
- Check the tokens the search is comprised of: The tokens of the query will impact what is searched for, which query rules are fired, and which synonyms are applied. This is shown in the search factors box on the right side of the search log.
- If there are words in the search query that are identified as tokens but causes extraneous results to appear (e.g. your brand name), set it as an additional stop word:
- Navigate to Search > [[Experience Name]] > Additional Settings.
- Under Additional Stop Words, enter the desired term.
- If there are words in the search query that are not identified as tokens, they are either a built-in stop word (e.g. “or”, “of”, or “in”) or an additional stop word. Check the additional stop words property following the steps above and remove the term if needed.
- If the search query consisted of multiple words (e.g. “search-level search factors”) that were each taken as a separate token (e.g. “search-level”, “search”, and “factors”), but really should be one token, set up a custom phrase.
- Navigate to Search > [[Experience Name]] > Additional Settings.
- Under Custom Phrases, enter the desired phrase.
- If there are words in the search query that are identified as tokens but causes extraneous results to appear (e.g. your brand name), set it as an additional stop word:
- Check the search factors found in the search log to see if the appropriate search factors were applied. If not, follow these specific help articles to dig deeper into the issue:
- Synonyms: Check if any synonyms were applied
- Query Rules: Check if any applied query rules caused the results to be different than expected.
- Vertical Ranking: Review the vertical scores of each vertical to determine why they were ranked in this order.
- NLP Filters: Check if any NLP filters were applied to each vertical.
Other Search backend troubleshooting articles:
- Location Search
- Experience Training Overrides
- Query Suggestions/Autocomplete
- Incorrect Entity Results
- Miscellaneous
If you’re still seeing an issue once you complete these steps, check out the help articles on troubleshooting specific issues for more guidance. If you are still seeing issues, even after you’ve gotten another pair of eyes to check, reach out to the Yext Product and Engineering teams by submitting a ticket.
Comments
0 comments
Please sign in to leave a comment.