---
title: "ファセット"
slug: "facets"
abstract: "コンテンツの項目をグループ化し分類します。検索を実行した後、ファセットを使って検索結果を絞り込み、制限しましょう。"
---
# ファセット

ファセットは、コンテンツ項目を言語、作成日、またはテンプレートに基づいて分類します。ユーザーは検索後にファセットを使って検索結果をフィルタリングし、制限します。Sitecoreは検索結果の右側に検索結果の側面を表示します:

![List of facets](https://doc.sitecore.com/api/markdown-image/sai/ja/developers/sitecoreai/images/2BDABD6970B145E8B6F02BAC8CE63B96.png)

この例では、そのうちの一つのファセットは **言語**と呼ばれ、このファセットには以下のフィルターがあります。

-   chinese\_simplified\_prg
-   デンマーク語
-   英語
-   french\_france
-   german\_germany
-   japanese\_japan

例えばユーザーがdanishフィルターをクリックすると、**言語** ファセットがdanishの値を持つ項目のみが表示されます。

任意のファセット(例えば**Language**)に対して、Sitecoreは(例えばdanish)を動的に作成します。フィルターはデータに基づいており、データが変わるとフィルターも変わります。

Sitecoreは、実際の検索結果に関連する場合のみ、ファセットとそのフィルターを表示します。この行動は動的です。

## Search面Sitecore

Sitecoreはこれらの要素を提供し、例えばユーザーがコンテンツエディターで検索する際にそれらを活用しています。

ファセット

概要

著者

結果は作成者ごとにグループ化されます。

著者テンプレート

著者とテンプレートの組み合わせに基づいて結果をグループ化します。

バケツ

結果は保存されているバケットごとにグループ化されます。

作成日 著者&

項目が作成された日付と作成者に基づいて結果をグループ化します。

日付範囲

結果を日付範囲ごとにグループ化します:今日、昨日、2〜4日前など。

ファイルサイズ

ファイルのサイズに応じて結果をグループ化します。グループは(バイト単位の数字):小さい:最大1000000 中型:最大5000000large: 最大10000000 extra large: 最大1000000メガ 大きい: 最大1000000000 巨大化:10000000000を超える

ファイルタイプ

ファイル形式ごとに結果をグループ化します。

画像寸法

結果を含まれる画像の寸法に基づいてグループ化します。

ワークフローで

結果をワークフローごとにグループ化します。

言語

結果を言語ごとにまとめます。

言語テンプレート

テンプレートが使われている言語ごとに結果をグループ化します。

所在地

すべてのバケットの位置を検索し、結果がどのバケットに保存されているかに基づいて結果をグループ化します。

タグ

結果をタグごとにまとめます。

テンプレート

テンプレートに従って結果をグループ化します。

テンプレート作成者

テンプレートと著者の組み合わせに基づいて結果をグループ化します。

更新日

結果は最後に更新された日付に基づいてグループ化されます。

## ファセットの作成と設定

ファセットは以下の */sitecore/system/Settings/Buckets/Facets*に保存されます。ファセットを作成するには、**ファセット** のアイテムを右クリックし、コンテキストメニューで **「挿入**、**ファセット** 」を選択し、新しいファセットの名前を指定することができます。

ファセット用のフォルダを作成できます。これにより、ファセットの概要を把握しやすくなり、作成したファセットとSitecoreが提供するファセットを区別するのに役立ちます。

作成したファセットは2つの異なる方法で設定できます:

-   アイテムフィールド名を指定することができます。ファセット項目の **フィールド名** フィールドでフィールド名を指定すると、Sitecoreはそのフィールドに基づいてファセットを作成します。複数のフィールド名をカンマ区切られたリストとして入力でき、Sitecore入力すると階層的なフィルター(例: belts/black、belts/whiteなど)が作成されます。フィールド名を小文字で指定し、インデックス内のフィールド名をそのまま使います。
    
    アイテム間で多くの異なる値を持つフィールドはファセットの候補には適さず、そのようなフィールドの使用は避けるべきです。例えば、各項目に一意の値を持つフィールドがあれば、Sitecoreは各項目ごとにフィルターを作成します。
    
-   **Facet Filter**フィールドで**ISimpleFacet**インターフェースを実装するクラスへの参照を指定することができます。このクラスは自分で作成し、文字列を返す必要があります。このクラスで、ファセットが探すべきフィルターを決定するロジックを実装できます。
    
    このクラスはフィルターの数を減らすことを目的としています。例えば、日付範囲やファイルサイズなど、Sitecoreの検索要素の一部がこのように実装されています。
    

## グローバルおよびローカルの側面

ファセットはグローバルでもローカルでも構いません。グローバルなファセットは、コンテンツツリーのすべての部分で検索に使用されます。Sitecoreが提供する検索ファセットはグローバルなファセットです。ファセットがグローバルファセットであることを指定するには:

-   ファセットのセクションにある**グローバルファセット**フィールドを選択します。

ローカルファセットは特定のアイテムバケットやコンテンツツリー内のアイテム(およびそのアイテムの子孫アイテム)に使われます。アイテムバケットまたはアイテムのファセットを指定する場合:

-   アイテムバケットまたはアイテムの**インデックスセクション**の**ファセット**フィールドでファセットを選択します。

## SPEAKアプリケーションにおけるファセットの利用

**FilterControl**コンポーネントを使ってSPEAKアプリケーションでファセットを作成・使用できます。