Area: Optimizely Search & Navigation
Applies to versions: 13 and higher

Language routing

Recommended reading 

This topic introduces the concept of language routing in Optimizely Search & Navigation. The language routing feature limits search queries to documents in a specified language.

How it works

Language routing  makes querying more precise by reducing the number of false positive matches, since documents are only analyzed for one language. Since language routing optimizes indexing performance and increases query precision, it is recommended to use it when indexing documents. Language routing requires no change to search queries.

Previously, all documents were analyzed for all supported languages. This practice sometimes caused noise when one language's stemming rules collided with another's.

Adding language routing on any type of object

You can add language routing to any type of object via the LanguageRoutingAttribute or the conventions API.


You can add language routing via the LanguageRoutingAttribute on the property. Set it to the desired language when initializing the object.

public class WithLanguageRoutingAttribute
    public string Id { get; set; } 
    public LanguageRouting LanguageRouting { get; set; } 
var indexedObject = new WithLanguageRoutingAttribute()
    Id = "123", 
    LanguageRouting = new LanguageRouting(Language.Swedish) 


Another option is to use the conventions API in Search & Navigation.

client.Conventions.ForInstancesOf<WithLanguageRouting>().LanguageRoutingIs(x => x.LanguageRouting);

Note: After upgrading to Search & Navigation 13, reindex the whole site as soon as possible.

See also: Language routing support for content implementing ILocale.

Do you find this information helpful? Please log in to provide feedback.

Last updated: Apr 06, 2018

Recommended reading