Search Project Overview
Lots of people think that implementing a search solution is easy and can be achieved in a matter of days. While getting a basic solution to work can be done quickly, making that solution provide contextually relevant information to all end users requires more work.
This article outlines the steps you should follow to implement a successful, long lasting search solution relying on the Coveo™ Platform.
Know Your End-User Expectations
One common mistake in the early stages of a search project is to index all available content without first identifying the actual needs and expectations the end users may have. Before you even start working on your search project, you should be able to answer the following questions:
Question | A few possible answers |
---|---|
Who are you end users? What are their search use-cases? |
|
What information do your end users expect to find in their search results? |
|
What metadata do your end users expect to be able to filter their search requests/results on? |
|
How do your end users expect relevance to affect their search results? |
|
To gather such knowledge, a common practice is to carry out interviews and shadowing sessions with potential end users. Analyzing available usage data can also be helpful, especially if spending time with potential end users isn’t an option.
Locate and Index Content
For more detailed information, see the Locating and Indexing Content section of this guide.
End users often have a rather vague idea of where the information they need actually resides; they may merely be aware that the content is accessible through some kind of portal. Early in your search project, you must identify the exact system (or systems) where the content your end users need is located (e.g., SharePoint, Google Drive, Khoros Community, Salesforce, etc.).
The Coveo Platform offers a large selection of connectors which can be configured as sources to regularly pull items and permission models from original content repositories into an index. Typically, you should be able to use system-specific sources to index most, if not all of the content your end users require. If no system-specific source exists for a certain type of content repository you need to index data from, there are other possibilities (e.g., using a generic source such as Database or Sitemap, or using the Push API).
Design the Search Experience
For more detailed information, see the Designing the Search Experience section of this guide.
A complete search experience may include one or more search interfaces aimed at satisfying the end-user needs and expectations.
Among other things, designing your search experience may require you to:
-
Decide which filters and refiners should be available, and how the end user may interact with those (e.g., configure facets and tabs).
-
Create result templates to render certain types of items in a tailor-made fashion (e.g., to highlight new items).
-
Develop custom components to meet specific end-user requirements (e.g., to display a result count next to each tab).
While implementing a search interface entirely on your own is possible, doing so can be complex and time consuming. Thankfully, the Coveo JavaScript Search Framework offers a set of customizable components which you can assemble to easily create feature-rich search interfaces.
Tune Relevance
For more detailed information, see the Tuning Relevance section of this guide.
Indexing and querying content are merely the first steps of a successful search project: relevance tuning is also an important and recurring task.
Manually Tune Relevance
The index provides built-in relevance through various ranking factors and weights.
You can also define your own relevance tuning rules by injecting query syntax expressions in search requests before they’re sent to the Coveo Search API, and/or by creating various query pipeline rules (e.g., query ranking expressions (QREs), thesaurus rules, etc.).
Examine Usage Analytics Data
End-user interactions with a search interface can be recorded through the Coveo Usage Analytics (Coveo UA) service.
You can notably leverage usage analytics data in reports to learn what your end users are searching for, what they’re finding, and also what they’re not finding (which can help you identify content gaps). You can also derive end-user behavior from this data, which allows you to make informed search experience design choices and/or relevance tuning decisions. Finally, the Coveo Machine Learning (Coveo ML) service relies on usage analytics data to improve the output of its models.
Activate Coveo Machine Learning
Coveo is a relevance engine that leverages search to understand and learn from end-user intent in order to provide increasingly relevant interactions. This implies that when sufficient reliable usage analytics data is available, the Coveo ML service can dramatically improve the relevance output of your search project.
-
Based on the current query, an Automatic Relevance Tuning (ART) model can increase the ranking scores of items that are most frequently opened by end users performing similar search requests.
-
A Query Suggestions (QS) model can provide basic query expression (
q
) completion suggestions which returned relevant results in the past. -
An Event Recommendations (ER) model can yield a list of items that were viewed by other end users in a similar context.
Continuously Improve the Solution
A search project is never done. You should continuously examine usage analytics data to fill content gaps, improve the search experience design, and fine tune relevance. The Coveo Administration Console offers tools to do this in a most efficient way.
What’s Next?
The next article in this guide provides guidelines to help you manage your search project (see Search Project Management).