Language specific search

Abstract

Describes how to implement language specific search

The Search API has two elements you can use to implement content search that only searches in one language: CultureExecutionContext and InContext.

This example shows how you can use them:

var index = ContentSearchManager.GetIndex("sitecore_master_index");
using (var context = index.CreateSearchContext())
{
    var cultureZh = new CultureExecutionContext(CultureInfo.GetCultureInfo("zh-TW"));

    var result = context.GetQueryable<TestSearchResultItem>(cultureZh)
.Where(it => it.Title == "Home").ToArray();

    var result2 = context.GetQueryable<TestSearchResultItem>()
                 .InContext(cultureZh)
                 .Where(it => it.Title == "Home").ToArray();
}

Where:

<field fieldName="title" returnType="text" />

public class TestSearchResultItem : SearchResultItem
{
    public string Title { get; set; }
}