ファセット

概要

コンテンツ アイテムは、ファセットによってグループ化および分類できます。ファセットを使用して、検索の実行後に検索結果をフィルタリングおよび制限します。

コンテンツ アイテムは、ファセットによってグループ化および分類できます。たとえば、使用している言語、作成された日付、または基になっているテンプレートを基準として分類します。ユーザーはファセットを使用して、検索の実行後に検索結果をフィルタリングおよび制限できます。Sitecore では、検索結果自体の右側に検索結果のファセットが表示されます。

List of facets

この例では、[言語] がファセットの 1 つとなっており、次のフィルターで構成されています。

  • chinese_simplified_prg

  • danish

  • english

  • french_france

  • german_germany

  • japanese_japan

たとえば、ユーザーが danish フィルターをクリックすると、[言語] ファセットの値が danish のアイテムだけが表示されます。

任意のファセット ([言語] など) について、Sitecore は動的にフィルター (danish など) を作成します。フィルターはデータに基づいており、データの変化に伴って変更されます。

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

Sitecore では、以下に示すファセットを提供しており、たとえば、ユーザーがコンテンツ エディターで検索を実行するときに使用されます。

ファセット

説明

作成者

アイテムを作成した作成者を基準として結果をグループ化します。

作成者テンプレート

作成者とテンプレートの組み合わせを基準として結果をグループ化します。

バケット

格納されているバケットを基準として結果をグループ化します。

作成日と著作者

アイテムが作成された日付と作成者を基準として結果をグループ化します。

日付範囲

結果を日付範囲 (本日、過去 1 日、2〜4 日前など) でグループ化します。

ファイル サイズ

ファイルのサイズを基準として結果をグループ化します。グループは次のとおりです (数値はバイト単位)。

  • 小: 最大 100000

  • 中: 最大 500000

  • 大: 最大 1000000

  • 特大: 最大 10000000

  • 超特大: 最大 100000000

  • 最大: 100000000 超

ファイルの種類

ファイルの種類を基準として結果をグループ化します。

画像のサイズ

含まれている画像のサイズを基準として結果をグループ化します。

ワークフロー中

進行中のワークフローを基準として結果をグループ化します。

言語

言語を基準として結果をグループ化します。

言語テンプレート

テンプレートの言語を基準として結果をグループ化します。

場所

すべてのバケットの場所を検索し、結果が格納されているバケットを基準として結果をグループ化します。

タグ

タグを基準として結果をグループ化します。

テンプレート

テンプレートを基準として結果をグループ化します。

テンプレート作成者

テンプレートと作成者の組み合わせを基準として結果をグループ化します。

更新日時

アイテムが最後に更新された日付を基準として結果をグループ化します。

ファセットは、「/sitecore/システム/設定/バケット/ファセット」に保存されます。ファセットを作成するには、[ファセット] アイテムを右クリックし、コンテキスト メニューから [挿入]、[ファセット] の順に選択して、新しいファセットの名前を指定します。

また、ファセット用のフォルダーを作成することもできます。これにより、ファセットの概要を容易に把握し、自身で作成したファセットと Sitecore が提供するファセットを区別することができます。

作成したファセットは、次の 2 種類の方法で設定できます。

  • アイテムのフィールド名を指定できます。ファセット アイテムの [フィールド名] フィールドでフィールド名を指定すると、このフィールドに基づいてファセットが作成されます。複数のフィールド名は、カンマ区切りのリストとして入力できます。入力すると、階層構造のフィルターが作成されます (belts/blackbelts/white など)。フィールド名は小文字で指定し、インデックスでは、そのままの表記のフィールド名を使用します。

    複数のアイテム間で多数の異なる値を持つ可能性のあるフィールドは、ファセットの候補として適切ではないため、そのようなフィールドの使用は避けてください。たとえば、アイテムごとに一意の値を持つフィールドにより、各アイテムに対応したフィルターが作成されます。

  • [ファセット フィルター] フィールドでは、ISimpleFacet インターフェイスを実装するクラスへの参照を指定できます。このクラスは自分で作成する必要があり、文字列を返す必要があります。このクラスには、ファセットが検索するフィルターを決定するロジックを実装できます。

    このクラスは、フィルターの数を減らすことを目的としています。日付範囲やファイル サイズなど、Sitecore 検索ファセットの一部は、このような方法で実装されています。

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

  • ファセットの [ファセット] セクションで、[グローバル ファセット] フィールドを選択します。

ローカル ファセットは、特定のアイテム バケットまたはコンテンツ ツリー内のアイテム (およびそのアイテムの子孫であるアイテム) で使用されます。アイテム バケットまたはアイテムのファセットを指定するには、次のようにします。

  • アイテム バケットまたはアイテムの [インデックス] セクションにある [ファセット] フィールドで、ファセットを選択します。

[フィルター コントロール] コンポーネントを使用して、SPEAK アプリケーションでファセットを作成して使用できます。