Best Bets
Describes Best Bets for Optimizely Search & Navigation. Best Bets allow search administrators to promote selected content when a search query matches a specific phrase.
Best Bets display at the top of search results because it has a higher boost weight.
Apply Best Bets
Use ISearch
or ITypeSearch
in the EPiServer.Find
namespace to apply Best Bets to the search results, as shown in the following examples.
Note that GetContentResult()
does not return external best bets because it only returns IContent
, which external best bets do not. External best bets are of type ExternalUrlBestBets
. To work around this, implement your own GetContentResult()
. Do a .select(x => x.ContentLink).GetResult()
. Then, load the content using that content reference.
Unified Search
var results = client.UnifiedSearchFor("Beethoven").ApplyBestBets().GetResult();
You can apply an overload that accepts a boost index (ApplyBestBets(double? boost)
), which affects the influence of a matching Best Bets on the search result score (default is 1000).
var results = client.UnifiedSearchFor("Beethoven").ApplyBestBets(200).GetResult();
Typed Search
You can also apply Best Bets to arbitrary types you have indexed, as shown in the following example.
var results = client.Search<Contact>For("Beethoven").ApplyBestBets().GetResult();
Style Best Bets search results
To style Best Bets search results, first use IsBestBet()
to see whether a search hit is a Best Bet. Then, use HasBestBetStyle()
to see whether the Best Best is showing its style. IsBestBet()
and HasBestBetStyle()
are available for UnifiedSearchHit
.
if(hit.Document.IsBestBet && hit.Document.HasBestBetStyle) { ... }
For HasBestBetStyle()
to return true, you must select the Show the best bet with its own style checkbox on the Optimizely Search & Navigation admin UI. Otherwise, the function returns false, indicating that it did not add the style to the listing.
Updated 4 months ago