HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

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 IsBestBetStyle() to see whether a search hit is a Best Bet. Then, use HasBestBetStyle() to see whether the Best Best is showing its style. IsBestBetStyle() 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.