Sitecore ContentSearch Language Based Search

Just a quick blog on using Sitecore content search within multilingual sites.

A very basic way of achieving a multilingual search,  i’ve used in the past involves building a query to filter on the language from the Sitecore.Context.Language. This method is explained in a previous tweet from Jamie Little and a blog post, however a comment from Stephen Pope shed more detail on content search, where you can actually pass in a culture into the content search.

So how does this work in practice

Within the Lucene or Solr configuration (e.g. “Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config”) we can see that there is a collection of  analyzers specified along with the culture name the analyzer is for.

Switching analyzer for the given language

When constructing the context.GetQueryable<SearchResultItem> there is an overloaded method that accepts a CultureExecutionContext. This allows you to pass in a culture to use for the search, context search then uses the config to locate the correct analyzer for the given culture info.

In the example below, I get the current cultureInfo from the context language and pass this into the GetQueryable method. This allows content search to automatically switch between analyzers based on the current site language.

Sitecore SPEAK List Component, Custom Tile and Knockout Databinding

In this post I will walk through using the Sitecore SPEAK List Component using Knockout databinding and a custom tile to create a custom look and feel of the List component. Continue reading

Sitecore Entity Service (SSC) Adding Paging

Recently I did a Sitecore User Group talk on Entity Service (video based on the talk available on Master Sitecore). I was asked there how you could extend Entity Service to including paging instead of using the standard GetAll() function.

Using my method of extending Entity Service and its repository pattern, as explained in this blog post. This blog post will explain how to add a new custom paged function for getting all entities.
Continue reading

Sitecore Entity Service (SSC) Custom Controller Action

Following on from my post on the basics of Entity Service and using the JavaScript API (Entity Service in Sitecore.Service.Client), in this post I will explain how to extend Entity Service Sitecore.Services.Client (SSC) with new controller actions.
Continue reading

Add Experience Analytics Report To Launch Pad

The launch Pad was introduced in Sitecore 7.1, however in Sitecore 8 the Launch Pad has had a major over haul. The launch pad has become a major focus and one of the central interfaces for Stecore. The Launch Pad can be extended with new SPEAK applications and analytics charts. In this blog post I will walk through adding Experience Analytics reports to the Sitecore 8 Launch Pad. Continue reading