I’ve recently encountered a few clients who have been using Find for quite a few years now and while the search and filters are working, they are not using much of its optimisation functions. So I’ve decided to write this post to go through out-of-the-box (OOTB) optimisation features of Epi Find, and show sample implementations I’ve done in the past. A few of you might find the below old news but I hope this helps those of you who want to know if they are making the most out of Episerver Find.
1. Best bets
Best bets are pretty much the equivalent of promoted ads on Google Search. While Episerver comes with its own ranking algorithm for search results, authors have the ability to promote specific content for specific keywords.
Here’s an example of a best bet on a CMS site:
Another example, this time on an e-Commerce website:
As per usual in Epi, the UI is fully customisable. You can choose to display Best bets differently or just simply as a normal search result.
How Episerver ‘best bets’ are set up
Navigate to the Episerver Find UI > Manage > Optimization > Best Bets
Select a search term (or search terms) to create a ‘Best Bet’ for (i.e. Towel)
Pick the content you want to promote (i.e. Content page, e-Commerce product / category, or external link)
Title and description – this is optional and will be auto-populated based on your selected promoted content but you can always override
Decide whether the UI will be different between best bets and regular search results
2. Related queries
Also known as “People also searched for” queries. Related queries in Epi Find are the result of two things:
Auto-created by Epi Find based on user search behaviour – Episerver relates queries based on a couple of algorithms. For example – a user searches for a specific keyword, does not click on any of the search results, makes a second query within 60 seconds and clicks on the search results this time. Epi links the first keyword to the second as a related query. No configuration is required, Epi Find takes care of this.
Manually set by authors or merchandisers
Here’s an example on a CMS with related queries:
How to manually set up ‘Related queries’
Navigate to the Episerver Find UI > Manage > Optimization > Related queries
Similar to related queries, Episerver Find already comes with a set of synonyms which helps it return smarter search results. However, this can also be manually set by content authors and merchandisers.
Here’s an example of a synonym set for “duvet” and “quilt”
How to manually set up ‘Synonyms’
Navigate to the Episerver Find UI > Manage > Optimization > Synonyms
Similar to the above, autocomplete comes OOTB in Episerver Find. With a bit of help from designers and frontend developers, you can display suggested results / keywords as your end users start engaging with your search box.
5. Weight boosting
By default, these categories are all set to “Medium” when it comes to weight in rankings. Authors and merchandisers however have the ability to modify this based on preferred weights.
6. Optimise content based on Statistics
Assuming you have enabled tracking on your search results, Episerver Find comes with a Statistics UI that you can later start exploring and analysing results for. There are several types of Statistics that are available and these are the following:
Most frequent searches
Using the stats, you can start understanding what keywords your end users are searching for on your website.
Tip: Use your top / frequent search keywords for creating Best Bets
You can even drill-down into the keyword and see more stats…
Searches without hits
This is where you will see content opportunities. End users attempted searching for something that your website does not have content for.
Tip: Either create new content, or use the “Create related queries” and/or “Create synonyms” buttons below as these may apply to some of your keywords
Again, you can drill-down into the keyword and see what other keywords the users searched for after not getting any hits…
Searches without relevant hits
Unlike above, these are search keywords that generated search results but the end user didn’t click on any of them.
TIP: Either create new content, or use “Create related queries” or “Create synonyms” buttons below
7. Integrate with Cognitive Services
With the rise of cognitive services (hello voice and image recognition services!), customers and end users have started moving away from the traditional search by typing. Some of us have started using voice when searching on Google (I admittedly do this from time to time). But there are also customers who want to just drop an image to the search bar and let technology handle the rest.
An example implementation, available on Episerver Foundation, makes use of Azure’s Image cognitive services, which more or less works like the below.
This is especially helpful for eCommerce websites that have tens of thousands of products, allowing customers to just drag and drop an image of clothing and let tech interpret it all.
There’s lots to talk about caching with Epi Find but for this specific article, I’m going to keep this short.
The first thing I would check is if I have caching enabled within the Episerver Find Client. To enable, you will have to add.StaticallyCacheFor(x) to your query calls into the Episerver Find index / service. The x is the period of time you want to cache the search results for in-app. This would save you a hop to the Epi Find index if the query has already been performed recently and stored within the in-memory cache.
In a load-balancing scenario, you might need a shared memory cache / Redis cache to store your Episerver Find query results and share across multiple web servers.
These optimisation features aren’t at all new and if you already are using Episerver Find, you should already be able to optimise your site’s search using the above functions. Happy Find optimisations!