カスタムファセット
カスタムファセットは、標準機能の検索ファセットの中でもユニークなものです。 常に単一の静的フィールド(更新日や資産タイプなど)で結果をグループ化するのではなく、利用可能な集計タイプを選択し、結果をグループ化するフィールドを指定できます。 カスタムファセットを使用すると、ニーズに合わせてまったく新しいファセットを作成できます。 例えば、「作成日」フィールドのファセットを作成し、独自の日付範囲を指定することで、「変更日」ファセットと同様の機能を持つファセットを作成できます。
オブジェクトやウェブコンテンツ構造のネストされたフィールドの使用例については、 カスタムファセットの例 の記事を参照してください。
カスタムファセットを使用する際には、インデックス内で適切なフィールドとその型を見つけることが重要です。 詳細については、 インデックス付きフィールドの探索 を参照してください。
カスタムファセットの設定
-
ページ上部の をクリックして (
) を追加します。 -
カスタムファセットを見つけて、左側のファセットのコレクションにドラッグします。 カスタムファセットは、ウィジェットの[検索機能]セクションにあります。
-
オプション (
) → 設定 をクリックします。
注Liferay DXP 2025.Q1/Portal GA132より前は、設定オプションはウィジェットの右上隅に表示されていました。
カスタムファセットの設定オプションについては、以下で説明します。
-
完了したら、 保存 をクリックします。
Liferay DXP 2024.Q4+/Portal GA129+では、より多くのカスタマイズを可能にするため、カスタムファセットで使用可能な設定が変更され、順序も変更されました。 範囲および日付範囲の集計タイプがサポートされるようになり、すぐに使用できる表示テンプレートも増えました。 最新の変更内容はここに表示されます。 古いバージョンを使用している場合、設定の一部のオプションが欠落していたり、表示順序が異なっている可能性があります。
集約設定
集計タイプ: 集計タイプを選択してください: 用語、日付範囲、または範囲。 いずれかの範囲を選択すると、設定に「範囲設定」という新しいセクションが表示されます。 詳細については、 範囲の設定 を参照してください。
集約フィールド: 結果を集計するインデックス付きフィールドの名前を入力します。 これは、分析されていないキーワードフィールドでなければなりません。 詳細については、 インデックス付きフィールドの探索 を参照してください。
カスタムファセットでは、 タイムスタンプ フィールドを使用しないでください。 これはシステムイベントの内部監査に使用され、検索コンテキストにとって意味のあるデータは保存されません。
表示設定
表示テンプレート: デフォルト、 チェックボックスレイアウト、 コンパクトレイアウト、 ラベルレイアウト、および ラジオボタンレイアウト から選択します。 詳細については、 検索ウィジェット表示テンプレートの使用 を参照してください。
カスタム見出し: このファセットに表示する見出しを入力してください。 設定されていない場合は、集計フィールド名が表示されます。
カスタムパラメータ名:選択した値のURLパラメーター名を指定します。 設定されていない場合、集約されたフィールド名が使用されます。
最大ターム数:ファセットに一致する用語がいくつ見つかったかに関係なく、表示するファセット用語の最大数を設定します。 これは、用語の集計タイプを使用している場合にのみ利用可能です。
頻度の閾値:用語がファセット用語のリストに表示されるために必要な最小頻度を設定します。 たとえば、ファセットの頻度の閾値が3に設定されている場合、一致する結果が2つの用語は用語結果リストに表示されません。
並べ替え: Liferay 7.4 U60+/GA60+ では、ファセット用語の並べ替え戦略として、用語頻度による昇順または降順 (デフォルト) または値による昇順または降順を選択できます。 範囲または日付範囲の集計タイプの場合、設定フォームで範囲が定義されている順序でファセット用語を並べ替えることができます。 デフォルトのソートでは、ファセット用語のマッチ数が多いものから少ないものへと並べ替えられます。
表示頻度:用語頻度を表示するかどうかを選択します。
詳細設定
統合検索キー: このウィジェットが参加している代替検索のキーを入力します。 設定されていない場合、このウィジェットはデフォルトの検索に参加します。 この値は通常、アプリケーション定義のインデックスの名前です。
範囲の設定
Liferay DXP 2024.Q4+/Portal GA129+
日付範囲または範囲集計タイプを選択すると、設定フォームに「範囲設定」というセクションが表示されます。 ここでは、ファセット用語を構成するさまざまな範囲を設定します。 各範囲の値は角括弧で囲まれています(例: [過去1時間から*] または [0から50])。
「入力範囲を表示」チェックボックスの設定により、ファセットにカスタム範囲を追加できるかどうかが切り替わります。

日付範囲
日付範囲集計は、日付フィールドで使用するためのものです。 マッピングには日付フィールドが含まれています。
"createDate" : {
"format" : "yyyyMMddHHmmss",
"type" : "date"
}
デフォルトでは、選択可能な期間範囲は過去1時間、24時間、1週間、1か月、または1年間です。 これらの範囲の開始値は、式を簡略化するための特別なエイリアスによってサポートされています。 過去 1 時間、 過去 24 時間、 過去 1 週間、 過去 1 か月、および 過去 1 年。 すべてのデフォルトの時間範囲は、 * で終わり、 から の値として評価され、現在の時刻 now になります。

日付範囲は、以下のエイリアスまたは検索エンジンがサポートする日付計算構文を使用して作成できます。
から の値に一致する結果はファセット用語に含まれますが、 から の値に一致する結果は除外されます。
範囲
範囲集計は数値データに対して機能し、ユーザーが任意の範囲に基づいてファセットを作成できるようにします。 例えば、コマース製品には、型 double でインデックス付けされた基本価格フィールドがあります。
"basePrice" : {
"type" : "double"
}
これらの設定により、 basePriceに対して 2 つの範囲が作成されます。1 つは 50 ドル未満の商品用、もう 1 つは 50 ドルを超える商品用です。
ラベル: 0-50 範囲: [0 TO 50]
ラベル: 0-50 範囲: [50 TO 100000]

日付範囲とは異なり、範囲集計では特殊文字の使用はサポートされていません。 開始値と終了値はハードコーディングする必要があります。
カスタムファセットと権限
カスタムファセット表示で集計された結果の件数は、結果の件数をより正確にするための最終的な権限チェックの対象外となります。 これは、 カスタムファセットのカウント が、標準のファセットのカウントよりも間違っている可能性が高いことを意味します。 場合によっては、ユーザーがコンテンツへのアクセス権限を持っていないにもかかわらず、結果数とともにファセット用語全体が表示されるという、いわゆる「ゴーストファセット」の問題が発生することもあります。 ファセットをクリックしても結果が表示されません。これは、検索結果の権限チェックがより厳密に行われるためです。
ゴーストファセットを回避するには、カスタムファセット用のカスタムウィジェットテンプレートを作成できます。 テンプレートコードでは、API呼び出しを使用して基となるエントリを取得します。 収集したバケットを反復処理する際に、VIEW権限が不足しているために取得できないエントリは表示から除外できます。