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.
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 relevant 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 segment” 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.
93 Comments
Do you want to help us improve Help Center search relevance? Please take a few minutes to to share specific examples of search results that didn't meet your expectations. http://goo.gl/forms/WbEKVWQnvE
Any way to make comments included in search results? Or is there a reason this is not implemented?
@Forrest,
You can search on ticket comments as an End-user by entering keywords in "My Activities" / "Search Request" field.
For Agents, the same is achieved by typing-in keywords in "search Zendesk" field which is the magnifier icon in the top right corner.
Rgds
Serge
@Serge - I think you misunderstand - I want users and myself to be able to search comments on the help center topics and questions, not Zendesk tickets.
@Forrest,
Sorry about that, indeed I got that wrong. I wouldn't be surprised to hear that this is done on purpose in order to keep control on the quality of the info. If ever you feel that this option should be available, I would then recommend that you submit your idea to the Product Feedback forum: https://support.zendesk.com/hc/en-us/community/topics/200132066-Product-feedback
Rgds
Serge
Thanks @Serge!
Hi Everybody,
Good news!
Knowledge base and Community Comments are now indexed. Incase you didn't see this announcement. You also have snippets and keyword highlights in the Search results page.
In the old web portal, if you were in a particular forum and ran a search, it would search just within that particular forum. If you wanted to search across all forums, you would do that from the forum home page. Since we moved to Help Center, it appears that it always searches across all topics, no matter where you initiate the search from. Is there a way to restrict a search to the current topic?
@Jacob
It is possible to embed a search box into any page in Help Center using a curly bar helper:
{{Search}}
When added and customized to a category and topic pages to include the attribute, scoped=true, it will return results from the current category or topic.
Here's are our resources on this: https://developer.zendesk.com/apps/docs/help-center-templates/helpers#search-helper
Is there a way to provide users the ability to change the sort order? If not I would suggest that users be able to change the sort by date, relevance score, votes or number of comments
This has got to be a setting or something in Help Center. So what is happening is that when our users search for an article, unless they know the title of the article, it doesn't show any results (or the wrong ones). For example, let's say the Article is title "Purchasing and Payment" and within it has several mentions of the word 'Reconciliation". Well a user who is looking for help with reconciliation will yield NO RESULTS unless they search "Purchasing" or "Payment" because 'Reconciliation" wasn't in the title. Is tags the only way to do this or can we actually have the search function look at the words nested in the article?
-Jeff
@stan
Help Center search results are based on relevance scores and are displayed to the user in descending order of their scores.
At this time there is no manual sorting options in the results. You can read more about optimizing your help center content here.
Looks like there is already a product feedback thread about this feature request, I would post there to see if our product team has made any progress on this request.
I'm curious if there is a way to customize the page for when there is no search results? This way we could put a custom message for the situation. Thanks!
Hey Dave!
It should be possible! Provided you're on the Team plan or above, you have access to the HTML, CSS, JS code for your Help Center, including the search results page. You can use our Help Center templating language and CSS Cookbook to get started!
Let us know if you get stuck! Here in Support we're not able to assist with this kind of customization, but we have several folks here in the Community who are great with this kind of thing. :)
Dave: if you have access to the templates for your Help Center (Customize Design -> Edit Theme) you can customize the Search Results page. The template code includes this:
{{#if article_results}}
<ul class="search-results-list">
{{#each article_results}}
<li class="search-result">
<a href="{{url}}" class="search-result-link">{{title}}</a>
{{#if vote_sum}}
<span class="search-result-votes">{{vote_sum}}</span>
{{/if}}
<div class="search-result-meta">{{meta}}</div>
<div class="search-result-description">{{text}}</div>
</li>
{{/each}}
</ul>
{{else}}
<p>
{{t 'no_results' query=query}}
{{#link 'help_center'}}
{{t 'browse_knowledge_base'}}
{{/link}}
</p>
{{/if}}
The part between "{{else}}" and "{{/if}}" is the part that determines what shows if there are no results.
It looks like there's a helper that creates the "no results for 'search text'" text, but you could either replace that or add your own text after it.
Thanks, Jacob!
I'm using "The Humble Squid" theme and I want to activate automatic suggestion when users type in the search box
Is there an easy way to do this?
Also, feat. suggestion: an easy "template builder" (drag and drop sections). E.g. being able to have a "Swiftest Elk" search/hero-unit but a "Humble Squid" main KB content section.
Hey Pedro! Sorry for the late response.
You can find the info you're looking for here: Help Center Instant Search Is Available for All Customers.
@Jessie
No problem at all. Thank you!
Hi!
I've started to organise my Guide per family of product as categories, and then by product as sections.
After that I standardised the articles for each product like below as an example:
Product family A (Category)
Product 1: (Section)
- Get started (article)
- Specifications (article)
- Compatibility (article)
- Etc..
Product 2: (Section)
- Get started (article)
- Specifications (article)
- Compatibility (article)
However, when searching using the search bar, the suggestions display:
Article / Category
Article / Category
So there is no way to dissociate the article suggested for products in the same product family.
Is there a way to display the article / section / category in the search suggestion ? If not, is there a workaround ?
Or I am forced to:
- Repeat the name of the product in each article (I would prefer to avoid this)
- Set products as categories, which is not what I want at all, and not what I've initially planned.
Thanks in advance for your help.
Edouard
@jeff did anyone ever answer your question?
I'm having a similar problem. If the word is not in the title, label, or tag the article does not show up.
We have many searches where the user types a sentence rather than a word or phrase, and they all yield no results, even though many of the individual words or phrases should return something.
What am I doing wrong?
Hi Erika!
One of our Product Managers created a ticket for Jeff but the problem seemed to resolve itself for him, so I'm afraid that won't be any help to you.
Would you be able to give more specific details about the content of these search terms/phrases? Do they tend to contain the same keywords? Do they have anything else in common?
As long as the search phrase includes relevant keywords, and those keywords are somewhere in the articles that should be coming back, it shouldn't matter whether the user is typing in an entire sentence or not. So more details will hopefully help us figure out what's going on.
Is there any way to elevate specific articles through a feature similar to what is commonly known as "best bets"? Our knowledge base library is so extensive that some articles get buried on page 2 or 3 of the search results, and we want to increase their visibility through a "highlighted results" panel of some sort. Thanks!
This section of this article was a complete let-down:
To make end-users more successful searching in Help Center
I am reading this article because the number one complaint from my users is that they can't find anything in our ZenDesk-hosted KB. I am not going to suggest using quotes on exact phrases, because that assumes that users know what they are looking for. To improve searchability, you need to meet the user where they are and with what they know.
From digging around this article, the comments, and my experience, I decided to seed examples of different ways customers describe the feature throughout the body of the article, and added labels that capture the internal verbiage (what our Dev team calls the feature and our Customer Success team might search for is different from what the customer calls the specific feature). The label seemed to have a delay with becoming indexed, which you might call out if you highlight labels as an option for improving searchability (my tendency is to save changes and try searching for the article again, and I was disappointed when the label seemed to have no immediate effect). Also, it sounds like if I'm willing to change the title, that it would add the greatest weight to the search result.
If there's any other ZenDesk-specific tricks that can improve searchability, please let me know.
Hi Angela,
Thanks for your feedback.
Yes, the title has the most weight, so putting your keywords in the title is the most effective way to make it come up in search. As for labels, there's only about a 30 second delay after you add them, before they are available. So you should see fairly immediate results after you update an article with labels.
Hope that helps!
Very good article! Thanks :)
I'm interested in the same knowledge, but for the Web Widget search. I have heard that those two searches score results differently.
Please enlighten me :)
Since most people do not vote on articles (any tips to improve that?) Is there a way for Zendesk to dynamically sort search results based on clicks and time spent on doc? So if I search for a word and get 50 results. The page that people click on the most or spend the most time reading would slowly move up in ranking in the search results. This way we can more intelligently rank the articles based on their relevance.
The weighting of keywords in article titles feels rather literal. For example, my impression is the following search string:
"Why can't my customers find good search results?"
is more likely to match this article:
"Why customers can't find good ice-cream"
than this one:
"Show better search results"
Have the ZD team experimented with algorithms that eliminate 'connective' words and phrases and use AI / NLP to identify the core concept / intent of a phrase - i.e. search results; not ice-cream?
Is it on your horizon to improve search?
I really appreciate the link provided to send feedback (http://goo.gl/forms/WbEKVWQnvE) but I am hoping that the plan is to increase search usability within the Help Center. I think this impacts my Help Center more heavily than your other customers because my users don't have Google to search our Help Center externally (because we require a login).
Baby step search functionality improvements I hope for in the meantime are:
phrase search without quotes (which sounds similar to what Paul Clark is asking for above)
a label max higher than 10 (with functionality).
Thank you for your consideration!
Can the search been activated for the "community" part ?
We want to create an internal knowledge base on behalf of the "community", When we do a search, it only searchs in the help center & not in the community.
Please sign in to leave a comment.