検索結果の折りたたみ
Liferay DXP 2023.Q4+/ポータル GA102+
同一のキーワード フィールド値を持つ検索結果を折りたたむことができます。 たとえば、「今月の優秀従業員」というタイトルの社内ブログでは、同じタイトルの検索結果が複数生成されます。 最も一致する結果のみを表示するには、 折りたたみ 構成を使用します。 この機能の動作の詳細については、Elasticsearch の 検索結果の折りたたみ を参照してください。

デフォルトでは、結果を折りたたむと、検索応答の合計ヒット数に折りたたみが考慮されないため、結果数とページ区切りが不正確になります。 たとえば、5 ページにわたって 100 件の結果を返す検索クエリがあり、そのうち 90 件のタイトルが同じであるとします。 これらの結果をタイトル フィールドで折りたたむと、Liferay の検索ページで次の状況になります。
- 検索ユーザーには、最高スコアの折りたたまれた結果と残りの 10 件の固有の結果、合計 11 件の結果が 1 ページに表示されます。
- 表示される結果の数は 100 です。
- 表示されるページ数は 5 です。

これは、 検索ブループリントで修正できます。
例: ローカライズされたタイトルで結果を折りたたむ
-
サイト メニュー (
) → コンテンツ & データ → ブログを開き、次のフィールド値を持つ 3 つのブログを作成します。ブログ1、タイトル:
Employee of the monthブログ1、コンテンツ:
Meet Rex Randle, employee of the month for March.ブログ2、タイトル:
Employee of the Monthブログ2、コンテンツ:
Meet Olivia O'Neal, employee of the month for April.ブログ3、タイトル:
Employee Of The Monthブログ3、コンテンツ:
Meet Preston Palmer, employee of the month for May. -
ブループリントを作成します。 グローバル メニュー (
) → アプリケーション → ブループリント (検索エクスペリエンス)を開きます。 -
新規をクリックし、タイトル ローカライズされたタイトルで折りたたむを入力して、 作成をクリックします。
-
プレビュー ウィンドウ を開き、
従業員を検索します。 3 つの結果が表示されます。 -
構成 を開き、詳細構成フィールドに以下を入力します。
{ "collapse": { "field": "localized_title_${context.language_id}_sortable.keyword_lowercase" } } -
プレビュー ウィンドウで、 従業員 を再度検索します。 1 つの結果が表示されます。
-
検索ページでブループリントを使用している場合は、それを保存して 検索ページに適用します。
