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

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

![List of facets](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-manager/image/2BDABD6970B145E8B6F02BAC8CE63B96.png)

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

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

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

言語などの特定のファセット **に対して、Sitecore**はdanishなど)を動的に作成します。フィルターはデータに基づいており、データが変わるとフィルターも変わります。

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

## Search面Sitecore

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

ファセット

概要

著者

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

著者テンプレート

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

バケツ

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

作成日 著者&

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

日付範囲

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

ファイルサイズ

ファイルサイズに応じて結果をグループ化します。グループは(バイト単位の数値)です:  
  

-   小規模:最大100,000
-   中:最大500000
-   ラージ:最大1000000
-   特大:最大10000000
-   メガラージ:最大100000000
-   巨大:1000000000を超えます

ファイルタイプ

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

画像寸法

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

ワークフローで

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

言語

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

言語テンプレート

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

所在地

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

タグ

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

テンプレート

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

テンプレート作成者

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

更新日

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

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

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

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

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

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

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

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

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

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

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

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

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