HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In

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 content appears 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, since it only returns IContent which external best bets are 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 by 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 also can apply Best Bets to arbitrary types that 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 shown using its own 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 check box on the Optimizely Search & Navigation admin UI. Otherwise, the function returns false, indicating the style is not added to the listing.