HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In


The [Language routing feature for Search & Navigation](🔗) limits search queries to documents in a specified language. The feature makes querying more precise by reducing the number of false positive matches, since documents are only analyzed for one language.

Most Optimizely Content Management System (CMS) content base types, like `PageData`, `ProductContent`, `NodeContent`, and `VariationContent`, implement `ILocale`. You can disable the language routing support by using conventions or overriding `LanguageRoutingFactory` as described in the following.

## Disable using conventions

This example disables the `LanguageRouting` support through conventions. Here we change the behavior of content that implements `ILocale` by storing documents in the "old" way. This is not recommended since it negates the `LanguageRouting` feature's performance improvements.



The example below changes the behavior for `MediaData` only. You might want to do this for specific content types for example if you need to analyze content using all analyzers.



## Disable via LanguageRoutingFactory

By default, `LanguageRoutingFactory` adds language routing to content that implements `ILocale`. To disable the default behavior, create your own factory that inherits from `LanguageRoutingFactory`, and override any protected virtual methods. You also need to register your custom `LanguageRoutingfactory` using a configurable module.



The following example changes the behavior to use _all analyzers_ instead of the “standard” analyzer for all content whose language cannot be mapped to any analyzer.



To disable language routing completely use the following override:



**Related blog post:** [Search & Navigation 13: New language routing](🔗)