---
title: "nグラムによるオートコンプリートのサポート"
slug: "supporting-autocomplete-with-n-gram"
abstract: "検索入力の自動補完機能の作り方。"
---
# nグラムによるオートコンプリートのサポート

nグラムアナライザーを使って検索入力の自動補完機能を作成します。アナライザーはトークンをユニグラム、ビグラム、トリグラムなどに分割します。ユーザーが単語を入力すると、nグラムアナライザーは生成したトークンを使って異なる位置で単語を検索します。

Solrでは、Solr Schema.xmlファイルでこれを設定できます。

オートコンプリートのサポートは、インデックスに新しいフィールドを追加し、そのフィールドをデフォルトではなくn-gramアナライザーでマッピングすることで追加されます。LINQクエリを実行してそのフィールドを照会する際は、以下のコードを使用します。

using (IProviderSearchContext context = Index.CreateSearchContext())
 {
 result = context.GetQueryable<SearchResultItem>().
 .Where(i => i.Name.StartsWith(“some”))
 .Take(20)
 .ToList();
 }

Sitecoreはトリグラムと英語のストップワードセットを使った実装を提供しています。他に要件がある場合は、新しいアナライザーを作成して設定を変更することもできます。