Help Center provides simple full-text search of your content. Help Center search indexes your knowledge base articles and community posts.
When a user enters a search query in Help Center, the search algorithms get to work, looking for indicators of the most relevant results and ranking them. The relevant snippet from the content of your knowledge base article or community post is created.
The search results are then displayed to the end user with snippet and keyword highlighting.
The articles contains the following sections:
- Understanding the relevance score in search results
- Understanding boosts in search results
- Which content is included and excluded in search results
- Improving the search experience for end users
Understanding the relevance score in search results
The ranked search results are based on relevance scores and are displayed to the user in descending order of their scores.
Relevance scores are indicated by a weighted average per field score. A field is a part of a record, representing an item of data. Some examples are:
- Matches in an article or post title field score higher than matches in other fields.
- Matches in article labels score higher than matches in the body field.
These are the current field weights:
Field |
Weight for |
Weight for |
Title |
3 |
3 |
Details |
N/A |
1 |
Body |
1 |
N/A |
Labels |
2.8 |
N/A |
Comment |
1 |
1 |
Section title |
1.5 |
N/A |
Relevance scores are also impacted by a text analysis process that considers the following factors:
- Exact match - Results that exactly match a word in the search string. This scores higher than a stemmed match.
- Stemmed match - Results where a word matches after stemming. For example, the plural form of a word generally matches the singular form.
- Term frequency - Number of matches returned in a single field. Higher term frequency increases the score.
- Field length - Matches in shorter fields score higher than results in longer fields. For example, if you have a single word search, that matches a one-word title, that will score higher than a hit in a long article title with many words.
- Proximity boost - The score is boosted when all the search terms are close together in the same field. For example if all the search terms are included in an article title this puts them in close proximity and gives the result higher relevance.
- Phrase boost - In multiple term queries, exact word order is preferred. For example, when searching for “car park”, results containing “car park” are ranked higher than results containing “park car.”
- Query length - For one and two word queries, the algorithm returns only documents that match all the search words. For longer queries, 40% of the query terms must be present in a document for it to become a search result.
- Overall quantity and quality of relevant results.
Understanding boosts in search results
In addition to text analysis we give extra weight to certain features of articles and posts. These include:
- Article votes - End users can rate articles as “helpful” or “unhelpful” so that over time an article may develop a score like “10 of 50 users found this article helpful.” We give articles with a higher percentage of positive votes a boost so that they show up a higher in results than they otherwise would. The more overall votes an article has weighs in too; for example, an article with a rating of 10 out of 50 gets more weight than one with 10 out of 100.
- Community post votes (requires Guide Professional or Enterprise) - End users can rate community posts as “helpful” or “unhelpful,” just as they can for articles. The percentage of positive votes functions as a boost and makes a certain post rank higher than it otherwise would.
- Labels (requires Guide Professional or Enterprise) - Labels are elements you can use to influence the relevance score of your articles in search results. Consider using labels carefully to balance your Knowledge base search results.
Which content is included and excluded in search results
When you search the Help Center, you are searching all knowledge base articles (first 500 KB of each article) and all community posts, if you have Gather. The default snippet size for a search result is 120 characters, although results can vary slightly because the snippet engine will always try to return a fragment that includes a complete sentence.
When an article or post is returned, the search engine attempts to find a snippet from the document body that matches the search. If there is no match in the document body or comments, an extract from the start of the document body is returned. If there is a match, the search engine divides the article or post into sentences and ranks each sentence based on the number of matches. The score is then normalized by the fragment length to ensure that fragments are not too small.
These items might also be included in the search:
- Restricted content - Only users with permission to access restricted content will see in search results.
- New content - When you add or update content it usually takes only a few minutes before the content is indexed and can be searched.
- Comments - Article and post comments are included in Help Center search results. Comments will show up in the search results as long as the search result snippet is matched in the comment. If there are multiple comment matches within one community post, the algorithm will pick the most relevant comment snippet.
- Hyperlinks - URLs and linked text are included in Help Center search results.
These items are not included in the search:
- Attachments - Content within article attachments is not included in Help Center search.
- My Activities - Search in My Activities in Help Center is limited to tickets and, specifically, tickets you have access to. It does not include articles.
Other relevance features
Fuzzy search
Fuzzy search is available in certain languages and is a process where an article or post is deemed to be relevant to a search query even when there is not an exact match to the search terms in any of its fields. We use this technique to protect users from spelling mistakes.
Unlike stemming, which removes suffixes and prefixes to get to the root of a search term, fuzzy search uses edit distance to identify search results that contain terms close to the query terms. For example, if you search for “user segmemt” the search engine will also return results containing “user segment”.
The current rule for finding approximate matches is:
- Terms up to maximum two characters must match exactly
- Terms containing three to five characters are allowed one typo
- Terms longer than five characters are allowed two typos
Optimized language support
For content written in certain languages, we apply specific optimizations.
Stemming is language specific. In English, the search engine knows that if you search for the term “films” you also want results that contain the singular form “film.” Similar rules apply to all languages.
Stop words are another language-specific factor. Stop words are the most common words in a language that are usually excluded from the search query to avoid returning too many results. For example, in English, “the” is a stop word.
The Help Center search is aware of the stemming rules and the stop words for a number of languages that together make up up to 99% of all searches performed by end users.
We are optimizing searches in the following languages:
Arabic, Bulgarian, Chinese, Danish, Dutch, English, French, German, Greek, Hindi, Indonesian, Italian, Japanese, Romanian, Russian, Spanish, and Thai.
All other languages benefit from basic search support.
Improving the experience for end users
There are a number of ways that you can improve a user's search experience.
Consider changing the color of search results highlighting in your custom theme. Use CSS to change the appearance of your search results keyword highlighting.
You can use the search analytics dashboard to review Help Center search terms from the last 30 days. For each search term you can see the number of searches for that term, number and type of search results returned (if any), click-through, and the next action taken.
Note: This requires Guide Professional or Enterprise.
Search analytics gives you insight into what your customers are looking for and where they are failing to find answers. To make end users more successful you can analyze search data, then take actions to improve search results and your knowledge base content.
To open the Search Analytics dashboard to review end user search terms
- Click the Reporting icon (
) in the sidebar, then click the Search tab.
Learn more about the options in the dashboard.
Providing tips for your end users to find content more easily
There are a number of operands you can recommend to help end users locate content in search.
- Find multiple words: Use double quotes (") around each word to find content that contains all those words.
For example,"article" "title" "section" "author"
retrieves content that contains all four words, in any order. Make sure you put spaces between the search words, otherwise the search handles the text as one string.
You'll get hits if there is a stemmed version of a word (e.g. articles). You won't get hits where content contains only the words title and section, for example.
If you use single quotes (') around a word, the single quotes are ignored. If you search for'article' 'title' 'section' 'author'
, you'll see hits for all content that contains any of the words title or article or section or author (exactly as if you had searched without the single quotes). - Find a phrase: Use double quotes (") around a phrase to find content that contains all the words in that phrase.
For example,"article title"
retrieves all content that contains the words article and title, in that order. You'll also get hits if there is a stemmed version of the word (e.g. articles). You won't get hits where content contains only the word title, for example.
If you use single quotes (') around a phrase, the single quotes are ignored. - Exclude results containing certain words: Use the minus operator (-) in front of the search term to find content that does not include that word or phrase.
For example, reporting bugs -support returns content containing the words reporting and bugs, but excludes those that contain the word support from the result set. - Combine operands for advanced search: you can combine the operands above to find a very specific set of results.
For example, "reporting bugs" -support returns hits for content that contains both the words reporting and bugs, but does not contain the word support.
25 Comments
Hi, can we only set the search to find Help Center articles and not community topics/posts?
Is there a setting for this? Thank you!
You probably have scoped to KB enabled. See this section
Scoped search in Knowledge base
This might also help.
search helper
{{search}}
Inserts a search box.
Parameters
None.
Attributes
scoped
(optional, boolean) Ifscoped
is true and the helper is on the category, section, or article page, searches only the articles in the current category. If the helper is on the topic or post page, searches only the posts in the current topic. Default is false.submit
(optional, boolean) If true, render the submit button. Default is false.instant
(optional, boolean) If true, enables Instant Search to provide HC article suggestions while you type in the search box. Instant Search article suggestions do not respect thescoped
parameter if it is set.class
(optional, string) class name to be added to the formplaceholder
(optional, string) placeholder value for the search input elementAvailability
Example
Output
If inserted in the Home page:
Hi Karolina,
Not directly, but you can use the Help Center API to get search results in JSON format: Help Center API – Search
Hi,
Is there a way to configure null search default text? currently there's a 'contact us' redirection for a null search result, which I want to remove.
Thanks for reaching out!
You can customize what appears on the page when no search results are returned by updating the code in the search_results.hbs file. For example, using the default Copenhagen theme you’d need to update the final {{else}} statement in the search_results.hbs file. Below is how the code appears by default:
Which appears on the search results page as:
Here’s a link with more information on the different helpers available to you when customizing the code:
Tipene
What would be the recommended best practice re: search result indexing for articles that are meant to appear in a series? For example, I've written a 7 article series on a topic, but due to the weighting of the relevance algorithm, articles 5 through 7 appear at the top of the search results when that topic is searched (see screenshot).
I've artificially tweaked the sequence of the articles that appear on search by up-voting and applying labels to articles 1 through 4, so the articles appear in the correct sequence on search, but I know this is only a temporary solution. Once end users start voting on these articles themselves, the sequence in which they appear on search will change.
It would be really helpful if I could circumvent the algorithm and pin article 1 to appear as the top search result when the topic is searched (since article 1 links out to the others in the series in the correct order). But if there are any other suggestions on a way to achieve this with current functionality I'm all ears!
Zach Brown I don't know if you'll like this suggestion, but the first idea that came to my mind was to use labels to make the later articles blacklisted to never show. Then your first articles will be the ones to come up. It just depends if there are ever cases where your later articles will have matches and you want them to be returned even if the first articles are not.
Also Jennifer Rowe , either my brain is missing something or this sentence has a typo:
For example, if you search for “user segment” the search engine will also return results containing “user segment”.
Hi Nikki, thanks for pointing that out!
The typo is that there is no typo and there should be. It was originally written as "user segmemt" to show that despite the typo, the search engine displays the correct results for "user segment," but someone corrected the typo, so it didn't make any sense. I've fixed it! Thanks!
Thanks Nikki! I didn't realize labels could be used to prevent articles from showing up on search. I'll take it under consideration.
How exactly does stemming work? Does the search iterate for a set of suffixes, or is it a wildcard?
Our content covers topics where users will search for part of a proper noun - example: "Sugar" vs "SugarCRM". If we're applying labels for SEO improvements, do we need to apply both labels, or will stemming find a "sugar" label when the user searches for SugarCRM, or vice versa?
Thanks!
Hello, I hope you can help with a question we have on how to make sure one search result appears above a second search result. Please see screenshot below. We want to reverse the order of the two responses shown in the screenshot. We want the Zendesk response about US leaves (see red arrow) to appear before the leaves
response excluding the US. Based on the relevance score factors, would it be most effective to change the knowledge article title for the US response to say "Leave of absence for United States employees" to create a stronger link when users type in "Leave of absence"? Should we add more labels in the US article to include the term "Leave of absence"? Should we add article votes to boost the relevance? It is important that US article comes before OUS article because the leave policies are different for each group. We need to include both knowledge articles in the search, but we really want US to appear first in search results. Thanks for any suggestions you can provide.
We've had issues with our users (and even myself) getting completely different search results when we first hit the "search" button, compared to if you just click the "search" button a second time. The first list of results actually don't have anything relevant to what was searched for. Very strange and it's causing a dramatic decrease in the confidence of our users when trying to find the information they need.
Example:
I search "Field Day" to get to one of the dozens of articles that have this right in the title of the article. These are the results I got the first time:
(Nothing titled "Field Day", and only 27 results)
Then I simply click the Search button again (not even changing any of the text), and I get this completely different set of search results, which is actually the correct set of results:
(149 results, and everything is titled Field Day)
I've reached out to you through a private ticket, so we can further investigate it.
Hi, Zendesk.
We now have close to 200 different help articles for various parts of our appilcation. It has recently become more and more difficult to find the correct article and it took us a while to realize that adding more words to the search term does not narrow the search results.
In our system searching for bank yields 6 results while searching for bank account yields 64 (!) results. As we're only half way through documenting our system, this problem will only increase.
Is there a way to switch on the "find multiple words" search variant as default?
Thanks.
Hi,
I have the same question as a user from a year ago. I would like to remove Community posts from the default Search behavior in the Copenhagen theme we use. Our Community content is not a robust or directed as our Help Center content and can just include a lot of 'chatter' among our users.
I have tried all variations of 'Scoped Search' in the options to no avail. Is it possible via Search helpers?
Failing that, can we automatically select Guide content on the search results page and not 'all categories' which requires a user to select out of Community content?
Thanks.
Jeff S.
Due to the nature of your concern, I have created a ticket for you. Please wait for an update via email from one of our Support Advocate.
We have close to 2500 articles on help center. We found that we keep getting "wrong words" being triggered in the search. For example, a query from Answer Bot:
"Some of my users are having problem with schedules. Since Monday morning, I have a lot of failed schedules, expecially for two users, with no error messages. What could we do"
The returned articles are completely irrelevant to "schedule", instead these are the words seems to be used for ranking the search:
We have labeled most of our articles. How can we avoid having "with", "of" and "are" such words getting involved in the search rank?
Xin we experienced something similar where users were treating our search bar like Google and typing full sentences and sometimes paragraphs, which made the search results pretty useless. One thing we did was change the prompted text in the search bar from something like "How can we help?" to "Keyword search" to guide them in how we want them to perform their search. Idk if that would help in your context but it seems to have changed the kind of searches our users make.
Thanks Kyle Johnson! Just wondering how did you change the prompted text? I'm not sure I see the relevant documentation
Xin that is a great question, which I am unfit to answer because our developers did it. We have a custom theme.
Kyle Johnson Gotcha, thanks so much!
Dane thanks, but I never did receive a follow-up email about this issue.
Jeff S.,
No worries, I'll personally take care of it. Please wait for my update.
Looking for code help to add another filter criteria to the side bar on the "Search Results Page"
This way it will list sub selections such as Labels instead of just By Category/products.
This can be found in our templating cookbook.
Thanks!
Please sign in to leave a comment.