Search Blueprints
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

検索ブループリントの作成と管理

グローバル メニューのアプリケーション セクション → 検索エクスペリエンスから 検索ブループリント を作成できます。 すでにブループリントがあり、その機能を Liferay 検索ページに適用したい場合は、 検索ページでの検索ブループリントの使用を参照してください。

検索ブループリントを作成するには、

  1. グローバル メニュー → アプリケーション (エクスペリエンスの検索) から Blueprints をクリックして、Blueprints アプリケーションを開きます。

  2. 追加 (Add) をクリックしてブループリントを追加します。

    [ブループリントの追加]モーダルウィンドウからブループリントの作成を開始します。

  3. [新規検索ブループリント]ウィンドウで、ブループリントに[name] (必須) と[description](オプション) を指定します。

    Liferay DXP 2023.Q4+ 以降、タイトルと説明フィールドはローカライズ可能です。 翻訳を提供するには、次のいずれかの方法を使用します。

    • ブループリントが作成されたら、タイトルと説明のモーダルを再度開き、言語を選択して翻訳を開始します。

      ブループリントのタイトルと説明を翻訳できます。

    • 言語オーバーライド アプリケーションを使用して、言語キー (例: search-for-new-content) とその翻訳された値 (例: 英語翻訳では Search for New Content ) を指定します。

  4. ブループリントの計画に応じて、次にこれらのメニューを使用して ブループリントの構築を続行します。

  5. ブループリントを構築し、構成しながらテストします。 [プレビュー] をクリックし、検索キーワードを入力してください。

    ブループリントを実行する前にプレビューすることができます。

    詳細については、 ブループリントのテスト を参照してください。

  6. 最初のブループリントの作成が完了したら、 [保存]をクリックします。

ブループリントの作成プロセスは高速かつシンプルですが、反復とテストが必要になる場合もあります。 ブループリントを頻繁に保存して、作業内容を確実に保存してください。

ブループリントをアクション メニュー (Actions) から編集または削除します。

また、検索ブループリントを インポートおよびエクスポート することもできます。

ブループリントのアクションメニューから編集、削除、エクスポートを行うことができます。

クエリビルダーの使用

クエリビルダーの使用して

  1. ブループリントに要素を追加します

  2. 検索するLiferayアセットを選択します

ブループリントに要素を追加する

要素を追加してブループリントにクエリ句の追加を開始します。

  1. クエリ要素画面で 追加 (Add) をクリックして、クエリ要素の追加サイドバーを開きます。

    ブループリントに要素を追加します。

  2. 探索したい要素カテゴリを展開します。

  3. 要素の上にマウスを移動し、 追加をクリックします。

  4. この要素は、[Query Builder]に追加され、設定できるようになります。

    この要素は、検索ユーザーが所属しているサイトのコンテンツを10ブーストします。

  5. 検索クエリを設定するために必要な数の要素を追加します。

    すぐに使用できる各要素の説明については、 ブループリント要素リファレンスの検索 を参照してください。

  6. カスタム要素が必要な場合は、クエリビルダーにカスタムJSON要素を追加し、必要なクエリ句を記述します。

    カスタム JSON 要素の構築方法については、 要素の作成 を参照してください。

重要

一部の要素では、クエリ ビルダーでブループリントに追加する以上のアクションが必要です。 たとえば、「Boost Longer Contents」要素または「Boost Contents with More Versions」要素を使用するには、「コントロール パネル」→「検索」→「インデックス アクション」で次のエントリのインデックスを再作成する必要があります。

  • com.liferay.blogs.model.BlogsEntry
  • com.liferay.document.library.kernel.model.DLFileEntry
  • com.liferay.journal.model.JournalArticle
  • com.liferay.knowledge.base.model.KBArticle
  • com.liferay.wiki.model.WikiPage

地理位置情報機能 (例: Boost Proximity) を提供する要素など、その他の要素では追加の設定が必要です。 詳細については、 要素リファレンスを参照してください。

要素を追加した後、ブループリントを保存していることを確認してください。

ブループリントのクエリにどのLiferayアセットタイプを含めるかを決定します。 クエリ設定 → 検索可能なタイプを使用します。

検索可能なタイプのドロップダウンを展開して、検索ブループリントからアセットの削除を開始します。

  • デフォルトではどのタイプも選択されていないため、すべてのタイプが検索されます。
  • 特定のタイプを選択するには、 アセット タイプを選択 をクリックして、タイプの選択モーダルを開きます。
  • 2025.Q3+ LPS-129412 リリース機能フラグを有効にすると、Web コンテンツ記事、ドキュメント、および動的データ リスト レコードのサブタイプを選択できます。 これらのサブタイプはそれぞれ、Web コンテンツ構造、ドキュメント タイプ、動的データ リストです。

[タイプを選択]モーダルは、検索対象となる資産を一括管理するために使用します。

検索可能なタイプ モーダルですべてのアセットを選択解除することは、すべてのタイプを選択することと同じです。つまり、すべてのアセットとオブジェクト タイプが検索されます。 Liferay の検索句のほとんどを無効にする方法については、 クエリ句コントリビューターの設定 を参照してください。

[Searchable Types]の設定を編集した後は、必ずブループリントを保存してください。 ブループリントのコレクション プロバイダーが有効になっている場合 、検索可能なタイプを変更すると、コレクション表示フラグメント内の既存のフラグメント マッピングが妨害される可能性があります。 検索可能なタイプを変更することによって生じた壊れたマッピングを手動で更新する必要があります。

[Searchable Types]設定でアセットタイプを無効にすると、通常そのインデックス作成コードによって提供されるクエリ句が除外されることになります。 このタイプは検索できず、ブループリントが検索に適用されても、エンドユーザーには除外されたタイプの結果が表示されません。

検索可能なタイプの設定は、他の句コントリビュータの設定オプションに重要な影響を与えるため、以下に詳細が表示されます。

詳細:クエリ句のコントリビューターを設定する

Liferay のバックエンド コード (および Liferay インスタンスにデプロイされたカスタム アプリケーション) は、進行中の検索にクエリ句を提供します。

バックエンドによって提供されるこれらの句は、検索ブループリントを介して構成できます。 ただし、ほとんどのユーザーは次の 2 つの設定には触れないでください。

  • 検索フレームワークのインデクサー条件
  • 検索フレームワークのクエリコントリビューター

通常はデフォルトの設定で十分です。 検索可能なタイプを使用する以外にこの動作を微調整する必要がある場合は、これらのバックエンド コントリビューターの動作方法を理解する必要があります。

  1. [検索可能なタイプ]を使用すると、個々のインデクサが検索に参加できないようにすることができます。 タイプのインデクサーを無効にすると、そのクエリ コントリビュータが選択されていても、そのタイプの句は検索クエリに追加されません。 これらのタイプの結果はユーザーには表示されません。

  2. [検索フレームワークのインデクサー条件] を使って、Liferayのすべてのインデクサが検索に句を提供しないようにします。 すべてのインデクサを無効にする唯一の理由は、検索クエリをゼロから構築し、すべてのクエリコントリビューターと検索可能なアセットを同様に無効にすることです。

  3. 検索フレームワーク クエリ コントリビューター セクションを使用して、すべてまたは特定のコントリビューターが検索に参加できないようにします。 独自のブループリント設定を使用して特定の句コントリビュータを上書きする場合は、その句コントリビュータを無効にします。または、Liferay の検索動作を完全に上書きするには、すべての句を無効にして、Liferay のインデクサーと検索可能なタイプも無効にします。

重要
  • Liferay の Indexer フレームワークは Liferay 7.2 でリファクタリングされ、ほとんどのアセットは現在 クエリ コントリビューター を使用して Liferay の検索に検索クエリ句を追加しています。 Wiki ページとナレッジ ベースの記事では引き続きインデクサー パターンが使用され、設定「検索フレームワーク インデクサー句」が有効になっている場合、これらのアセットの句は常に検索クエリに追加されます。 すべてのインデクサーを無効にしたり、さらに多くの句を重ねてこれらのアセットの検索動作を微調整したりすることができます(たとえば、特定の句の一致をブーストするなど)。
  • すべてのインデクサーとコントリビューターを無効にしても、Liferay のコントリビュート検索句が包括的に上書きされるわけではありません。 特定のインデクサーとコントリビューターは、これらの設定に関係なく、句を提供します。

特定の句コントリビューターまたはすべてのインデクサーが検索クエリに句をコントリビュートすることを無効にします。

条件コントリビューターやインデクサー動作を編集したら、必ずブループリントを保存してください。

構成の追加

検索クエリを細かく設定するだけでなく、検索ブループリント設定を追加すると、次のようなJSON設定が追加されます。

  • 集計
  • ハイライト
  • ソート
  • パラメーター
  • 詳細設定

追加設定はJSONを使用して設定することができます。

これらを追加するには、 構成 タブをクリックし、目的の構成のテキスト入力ボックスを見つけます。 JSONを入力し、ブループリントを保存します。

以下は、検索結果を 名前 フィールドで降順 (逆アルファベット順–ZA) に並べ替える Sort の例です。

{
	"sorts": [
		{
			"title_sortable": "desc"
		}
	]
}

詳細については、 検索ブループリント構成リファレンスを参照してください。

ブループリントのインポートとエクスポート

ブループリントは、JSONオブジェクトです。 ある環境からブループリントの JSON をエクスポートし、別の環境にインポートします。 これは、ステージングおよびテスト環境から本番環境にブループリントを移行する際に便利です。

ブループリントのJSONをエクスポートするには。

  1. グローバル メニュー → アプリケーション → ブループリント (エクスペリエンスの検索セクション内) からブループリント アプリケーションを開きます。

  2. ブループリントのリストから、ブループリントの アクション (Actions) メニューを開き、 エクスポートをクリックします。

ブループリントのJSON定義をインポートする。

  1. グローバル メニュー → アプリケーション → ブループリント (エクスペリエンスの検索セクション内) からブループリント アプリケーションを開きます。

  2. メインのブループリント アクション (Actions) メニューを開き、 インポートをクリックします。

  3. 有効なブループリント JSON ファイルを選択してください。 有効な要素のJSONファイルもこの画面からインポートすることができます。

    ブループリントと要素をインポートします。

  4. インポートをクリックします。

プレビューサイドバーでブループリントをテストする

実行中のブループリントに裏付けされた検索結果を調べるのに便利なプレビューサイドバーがあります。 ブループリントの編集画面から [プレビュー] ボタンをクリックすることでプレビューにアクセスできます。

ブループリントを実行する前にプレビューすることができます。

ここでは、これらの機能にアクセスできます。

  • 7.4 U52+の場合、[生のリクエストを表示]をクリックすると、検索リクエスト文字列全体が表示されます。 [Raw Request]モーダルから、リクエストをクリップボードにコピーするか、JSONファイルとしてダウンロードすることができます。 これは、検索ページの Search Insights ウィジェットに表示されるリクエストと同じです。

  • [生の応答を表示]をクリックすると、検索応答文字列全体を表示します。 ここで、応答をクリップボードにコピーしたり、JSON ファイルとしてダウンロードしたりできます。 これは、検索ページの Search Insights ウィジェットに表示される文字列と同じです。

    Elasticsearchから返された生の応答文字列を表示します。

  • 各結果のスコアは結果タイトルの左側に表示されます。 スコアをクリックするとスコアの説明が表示されます。

    結果のスコアの説明を表示します。

  • 結果を展開して、返されたドキュメントのすべてのフィールドを見るには、結果のタイトルの右側にある右向きの角括弧をクリックします。

    ドキュメントのフィールドを調べます。

一部の要素 は、手動で提供または上書きできる検索コンテキスト属性を読み取ります。 これらの要素を使用してブループリントをテストするには、歯車アイコン (Gear) をクリックして、ブループリントのプレビュー検索に検索コンテキスト属性を追加します。 属性のキーと値のペアを入力し、 [完了]をクリックします。 この属性はブループリントのプレビューに対してのみ設定され、ブループリント自体には保存されないことに注意してください。 これらの属性は、ページの検索で設定することができます。 詳細については、「 検索ページでの検索ブループリントの使用 」を参照してください。

例えば、

  1. 管理というカテゴリ を持つ新しい 語彙を追加します。

  2. 2 つの新しい Web コンテンツ記事を追加します。両方のタイトル フィールドに テスト があることを確認します。 そのうちの1つを、作成したカテゴリーに関連付けます。

  3. 新しいブループリントを作成し、条件要素である[ゲストユーザーに対してカテゴリ内のコンテンツを非表示]を追加します。

  4. 資産カテゴリ名 (ID) フィールドで 管理 を選択するか、ID がわかっている場合は手動で入力します。

  5. プレビューサイドバーの 属性 を開き、

    キー: user.is_signed_in

    値: false

  6. 完了をクリックし、検索に テストを入力します。

これで、未分類のWebコンテンツだけが返されるようになりました。 もう1つは、検索ユーザーがゲストであるかのように検索を動作させる検索コンテキスト属性のため、非表示になっています。

この例では、コンテキスト変数 user.is_signed_inを読み取る要素を使用します。 値を手動で設定すると、既存の値が上書きされ、ブループリントが特定の動作を示すことができるようになります。 値はすでに検索コンテキストに存在するため、手動での設定は任意です。 その他の要素では、通常の検索リクエストのコンテキスト内に存在しないカスタムパラメータが必要です。 プレビューサイドバーからブループリントをテストする場合でも、検索ページで使用するためにブループリントを設定する場合でも、要素/ブループリントが正しく機能するように、これらを手動で検索コンテキストに渡す必要があります。

外部参照コード(ERC)の設定

Liferay DXP 2023.Q4+/ポータル GA102+

編集可能な ERC でブループリントを参照できます。可能な場合は、これをお勧めします。 便宜上、ERC を記憶しやすく人間が読めるものに設定できます。 ブループリント エディタで、ERC の横にある 編集 Edit をクリックします。

ERC を覚えやすく読みやすいように編集します。

この人間が読める ERC は、検索ページ または ヘッドレス検索リクエストでブループリント を設定するときに便利です。

次のステップ