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

検索設定のリファレンス

Liferay DXPの検索は様々な方法で設定できます。 構成スコープの概念を理解すると、特定の構成画面がどこにあるかがわかります。

  • 多くの検索構成はシステムの範囲に影響します (例: インデックスの再作成アクションや検索エンジン コネクタの構成)。
  • 検索チューニングの設定は、仮想インスタンスに影響を与えます。
  • 新しい検索ページの作成は、サイトスコープでの検索に影響します。
  • 検索ウィジェットの設定は、ウィジェットスコープの設定ですが、一部はページスコープの設定と考えることもできます。

そのため、 Configuring Search という用語は、利用可能なすべてのスコープに対応しているため、非常に幅広いものとなっています。 ここでは、どのような検索動作が設定可能か、そして重要なこととして、どこに検索設定オプションがあるのかについて、高いレベルで説明します。

Widget Scoped Searchの設定

ページ上に設置できる検索ウィジェットをご用意しました。 それぞれに設定オプションがあります。

各ウィジェットの設定はそれぞれ異なります。

検索ウィジェット

検索ウィジェットの詳細については、 検索ページとウィジェットを参照してください。

検索結果: 検索結果の表示方法を設定します。 詳細については、「 検索結果の表示 」をお読みください。

検索バー: 検索キーワードをどのように処理するかの動作を設定します。 詳細については、 検索バーの設定 を参照してください。

検索ファセットFacets: 各ファセットの動作とURLパラメータを設定します。 詳細については、 ファセット を参照してください。

検索オプション: これは特殊なケースで、このウィジェットを構成することで、ページスコープでの動作を定義します。 [検索オプション]ウィジェットをページに追加し、「検索ページ」に2つのブーリアンを定義します。

  • 空の検索を許可する:デフォルトでは、キーワードを入力しなかった場合、検索結果は表示されません。 これを有効にすると、検索バーにキーワードが入力されていない場合、 すべての の結果が返されるようになります。
  • 基本的なファセット選択。デフォルトでは、ファセット数はファセットを選択するたびに再計算されます。 これを有効にすると、ファセットリカウンティングがオフになります。
  • 検索全体でファセット選択を保持: Liferay DXP 2024.Q2/Portal GA120 以降、新しい検索を実行すると、以前の検索ファセット選択がクリアされます。 これを有効にすると、新しい検索のファセット選択が保持されます。

検索候補:より良いクエリやスペルチェックのクエリを提案します。 詳細については、 提案構成リファレンス を参照してください。

検索インサイト: ユーザーがキーワードを入力したときにバックエンド検索コードによって構築される完全なクエリ文字列を検査するには、これを検索ページに追加します。 テストや開発にしか使えません。 詳細については、 検索インサイト を参照してください。

カスタムフィルター:検索結果に適用させたいフィルターごとに、ページにウィジェットを追加します。 検索ページのユーザがフィルタを見たり操作したりできるようにするか、フィルタを不可視にしたり、不変にしたりする。 詳細については、 カスタム フィルター ウィジェットの使用 を参照してください。

ソート: インデックス内の特定の キーワード フィールドの値に基づいて、ユーザーが検索結果を並べ替えることができます。 例えば、「タイトル」フィールドのアルファベット順に結果を表示します。 デフォルトの順序は、検索エンジンの 「関連性」 の計算によって決定されます。 詳細については、 検索結果の並べ替え を参照してください。

低レベルの検索オプション: 会社インデックス以外のインデックスを対象とした検索に参加するように検索ウィジェットを設定します。 会社インデックスはLiferay DXPアセットがデータのインデックスを作成する場所なので、多くのインストールではこのウィジェットは必要ありません。 詳細については、 「低レベル検索オプションについて」 を参照してください。

類似した検索結果: ページに表示されているアセットに類似した検索結果を表示します。 詳細については、 類似結果 を参照してください。

[Liferay Enterprise Search] Elasticsearch モニタリング: Liferay Enterprise Search サブスクライバーは、Liferay DXP ページに配置されたウィジェット内の Elastic の Kibana モニタリング ツールにアクセスできます。 詳細については、 Elasticsearch のモニタリング を参照してください。

サイトスコープ検索の設定

サイト スコープ構成の厳密な定義によれば、検索には何も存在しません。 ただし、 検索ページ はサイト固有の検索動作に影響を与えます。 通常、検索ページには、特定のサイト内のすべてのコンテンツを検索するように設定された検索ウィジェットが含まれています。

検索の範囲を設定します。

検索ウィジェットを使用する際には、いくつかの重要な設定上の注意点があります。

ヘッダー検索バー(デフォルトテーマに埋め込まれた検索バー)が検索バーウィジェットを使用する場合、その構成では常に 宛先ページ を設定する必要があります。 検索先ページ は、検索ウィジェットを保持する通常のページです。 検索ウィジェットを持つページは、サイト全体でいくつでも持つことができます。

検索バーウィジェットはインスタンス化が可能なので、1つのページに複数の検索バーウィジェットを設定することができます。 すべての検索バーのインスタンスは、サイト内の検索ページを指していないと効果がありません。

重要

Liferayのデフォルトテーマのように、検索先のページがテーマ埋め込み型のヘッダー検索バーに加えて、検索バーのウィジェットインスタンスを持っている場合、ヘッダー検索バーの設定がページのウィジェットインスタンスよりも優先されます。

逆に、他のページのSearch Barウィジェットインスタンスからの検索では、ヘッダのSearch Barの設定と異なっていても、その設定が尊重されます。

詳細については、 検索バーの設定 を参照してください。

インスタンススコープの検索構成

検索には、 インスタンス設定 パネルにインスタンススコープのエントリがありません。 ただし、多くの検索ウィジェットには、インスタンス全体のデフォルト ウィジェット テンプレート を構成するためのエントリがあります。 テンプレートが定義されているサイト ID (多くの場合、これはサイト設定パネルにあるグローバル サイトの ID になります) と、サイト メニュー → デザイン → ウィジェット テンプレートにあるウィジェット テンプレート ID を入力するだけです。

検索のインスタンス スコープ設定は、グローバル メニュー → アプリケーション → 検索チューニングのエントリのみです。

検索結果のランキング。 特定のエイリアスの検索結果を隠したり、固定したり、追加したりして、検索結果を手動でカスタマイズできます。 詳細については、 結果ランキング を参照してください。

同義語。 同義語の検索語がマッチし、検索語との完全一致のようにスコアリングされるように、同義語セットを作成します。 詳細については、 同義語セット を参照してください。

システムスコープ検索の設定

システム スコープの検索構成は、主に システム設定にあります。

  1. グローバル メニューで、 コントロール パネル構成システム設定に移動します。

  2. [プラットフォーム]セクションの下にある[検索] カテゴリーをクリックします。

    または、 検索を検索します。

システム設定には、検索のための多数のシステム・スコープ・エントリがあります。

システム設定は、 OSGi 構成ファイル経由でも構成できます。 ファイル名はここに記載されています。

デフォルト・キーワードクエリ

設定ファイル: com.liferay.portal.search.configuration.DefaultKeywordQueryConfiguration.config

デフォルト・キーワードクエリエントリには1つの設定があります。

disabledEntryClassNamesとなります。 DefaultKeywordQueryContributor のコードは、キーワード検索クエリに descriptionuserNametitle フィールドを自動的に追加します。 エントリークラス名 DefaultKeywordQueryContributor を無視するように指定します。

デフォルト検索結果パーミッションフィルター

設定ファイル: com.liferay.portal.search.configuration.DeltsercheantReversPermissionFilterConfiguration.config

デフォルト検索結果パーミッションフィルターエントリでは、 ポストフィルタリングパーミッションチェック (検索インデックスから結果が返された後に行われるデータベースパーミッションチェック)の設定が可能です。 これらの設定の詳細については、 「最終的な権限チェック 」をお読みください。

  • permissionFilteredSearchResultAccurateCountThreshold

  • searchQueryResultWindowLimit

インデックス・ステータス・マネージャー

設定ファイル: com.liferay.portal.search.configuration.IndexStatusManagerConfiguration.config

ステータス マネージャーをインデックスするエントリーの設定は1つです。

indexReadOnly:これを有効にすると、すべてのインデックス操作と検索エンジンへの書き込みが中断されます。 検索では、すでにインデックスされている文書のみが返されます。 これは大規模なデータのインポートを高速化するのに役立ちますが、インポートが完了したら無効にして完全な再インデックスを実行する必要があります。

インデックス書き込みヘルパー

設定ファイル: com.liferay.portal.search.configuration.IndexWriterHelperConfiguration.config

インデックスライターヘルパーエントリには、1つのエントリが含まれています。

indexCommitImmediatelytrue (デフォルト)の場合、書き込みリクエストのたびにサーチエンジンがインデックスリーダーを更新し、トランザクションをディスクに流す可能性があります。 これは、検索エンジンのパフォーマンスに悪影響を与える可能性があります。 デフォルトの動作は、個々のアセットへのインデックス書き込み(例:blog の追加、blog の更新)については直ちにコミットしますが、一括したインデックス書き込み操作(例:すべてのユーザーのインデックス化、すべてのフォームエントリのインデックス化)については、すべてのエントリが検索エンジンに送信されるまでコミットを遅らせます。 この設定をfalseにすると、個々のインデックス操作の動作が変化し、Asset Publisherなどのアプリケーションで、新しく追加されたコンテンツを表示する際にレスポンスが遅れることがあります。 詳細については、 Elasticsearch ドキュメント を参照してください。

インデクサー登録

Liferay 7.4 Update/GA31+ の場合、インデクサーレジストリ構成はシステム設定 UI で利用できません。 .config ファイルを使用して設定する必要があります。

設定ファイル: com.liferay.portal.search.configuration.IndexerRegistryConfiguration.config

インデックス要求のバッファリングを設定する。

バッファリング: インデックス要求のバッファリングを有効(デフォルト)または無効にします。 バッファリングを無効にすることはお勧めしません。Elasticsearch へのリクエストがさらに必要になり、データベースがロールバックされてもインデックスの変更がロールバックされません。

bufferedExecutionMode: 管理者が IndexerRequestBufferExecutorを選択し、 IndexerRequestの実行に使用できるようにします。 エクゼキュータの実装は1つだけです(DEFAULT)。 新しい IndexerRequestBufferExecutor の実装がデプロイされると、必要なプロパティの1つとして、 buffered.execution.modeが指定されます。 この値は、 DEFAULTの代わりに使用することができます。

maximumBufferSize:バッファリングが有効になっている場合は、追加のインデックス要求がすぐに実行されるように最大バッファサイズを設定します。

minimumBufferAvailabilityPercentage: バッファの容量が指定されたパーセント分しか残っていない場合、バッファ内の既存のリクエストが一括して実行され、バッファから削除されます。

インデックス・クエリ・プロセッサー

設定ファイル: com.liferay.portal.search.configuration.QueryPreProcessConfiguration.config

このエントリには繰り返し可能なプロパティが 1 つあります ( OSGi 構成ファイルで定義する場合は配列構文を使用します)。

fieldNamePatterns:ここで設定したパターンに一致する名前のフィールドは、分析されていないキーワードフィールドとして扱われます。 スコアリングされたフルテキストクエリの代わりに、スコアリングされていないワイルドカードクエリによってマッチングが行われます。 これはリソースを消費する操作で、インデックスが大きくなると検索エンジンのパフォーマンスが低下します。 部分文字列のマッチングでは、通常、 ngram トークナイザー を使用するとパフォーマンスが向上します。

再インデクス

設定ファイル: com.liferay.portal.search.configuration.ReindexConfiguration.config

defaultReindexExecutionMode: Liferay のコンテンツの再インデックスのデフォルトモードを設定します。 完全 (デフォルト)、同時、または同期から選択します。 詳細については、 再インデックスモード を参照してください。

indexingBatchSizes: バッチ インデックス作成をサポートするモデル タイプの場合、配列を使用してバッチごとにインデックスを作成するドキュメントの数を設定します。 定義されていない場合、デフォルト値は 10,000です。 DLFileEntry は、すぐに使用できる構成では 500 に設定されています。 ドキュメントが大きいモデルの場合、この値を減らすと安定性が向上し、再インデックス操作中に発生する 要求エンティティが大きすぎます などのエラーが解決される可能性があります。 大きなタイプのバッチインデックスサイズを減らすことは、 http.max_content_length 設定を増やすよりも効果的ですが、可能であれば、これは避けるべきです。 Elasticsearch のトラブルシューティング: 一般的な問題を参照してください。 構成で使用できるモデル タイプ クラス名を見つけるには、 コントロール パネル構成検索インデックス アクションに移動します。 リストされているタイプには、構成で使用できるクラス名が含まれています (例: Account Entrycom.liferay.account.model.AccountEntryです)。

重要

Web コンテンツ記事のインデックス作成バッチ サイズを構成する場合、指定するモデルは Web コンテンツ設定によって異なります。 システム設定 → コンテンツ & データ → Webコンテンツ → Webコンテンツ(仮想インスタンススコープ)で indexAllArticleVersionsEnabledtrue の場合、 com.liferay.journal.model.JournalArticle=[size]を設定する必要があります。 無効になっている場合は、 com.liferay.journal.model.JournalArticleResource=[size]を使用してください。

エンジンヘルパー

設定ファイル: com.liferay.portal.search.configuration.SearchEngineHelperConfiguration.config

このエントリには繰り返し可能なプロパティが 1 つあります ( OSGi 構成ファイルで定義する場合は配列構文を使用します)。

excludedEntryClassNames:検索アプリケーション用に構築されたキャッチオールクエリで、アセットタイプを検索対象から除外します。 例えば、ユーザーと組織 アプリケーションから検索できるように、組織アセットのフィールドにインデックスを付ける必要がありますが、検索アプリケーションでは検索できません。 したがって、組織は、 excludedEntryClassNamesに追加されます。

権限チェッカー

設定ファイル: com.liferay.portal.search.configuration.SearchPermissionCheckerConfiguration.config

このエントリーは、Liferay DXP 7.3では1つの設定オプションがあります。

permissionTermsLimit: このレベルの許可チェックが中止されるまでに、検索クエリに追加される許可検索句の数を制限します。 権限チェックは、 デフォルトの検索結果権限フィルター セクションで説明されている最終的な権限フィルタリングにのみ依存します。

タイトルフィールドクエリビルダー

設定ファイル: com.liferay.portal.search.configuration.configTitleFieldQueryBuilderConfiguration.config

ドキュメントの「タイトル」フィールドにマッチした場合の検索の応答方法を設定します。

exactMatchBoost: 検索されたキーワードが、文書の タイトル フィールドと完全に一致した場合に、さらにブーストをかけます。

maxExpansions: 検索されたキーワードに、 title フィールドをフレーズのプレフィックスとしてマッチさせたときに、返すドキュメントの数を制限します。 詳細については、Elasticsearch の Match Phrase Query ドキュメント を参照してください。

クラスター横断レプリケーション

このエントリは、Liferay Enterprise Searchのサブスクリプションで利用可能なクラスター横断レプリケーションモジュールを導入した場合にのみ表示されます。 これらの構成プロパティについては、専用の クラスター間レプリケーション ドキュメントで説明されています。

Elasticsearch の監視

設定ファイル: com.liferay.portal.search.elasticsearch.monitoring.web.internal.configuration.config

Liferay Enterprise Searchのサブスクリプションで利用可能なLiferay Enterprise Search Monitoringモジュールを導入している場合、Elasticsearch Monitoringの構成を使用できます。 これらの構成プロパティについては、専用の Elasticsearch のモニタリング ドキュメントで説明されています。

Elasticsearch 7

重要

Elasticsearch 7 システム設定エントリと対応する構成ファイルは、Elasticsearch 8 への接続を構成するためにも使用されます。

設定ファイル: com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config

LiferayとElasticsearchの接続を設定する. これらのプロパティの詳細については、 コネクタの構成 を参照してください。

Elasticsearch接続

設定ファイル: com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConnectionConfiguration-[connectionId].config

Liferay 7.3は、複数のElasticsearchクラスタに接続することができます。 接続はElasticsearch接続エントリで定義されます。 これにより、低レベル検索オプションおよび検索結果ウィジェットと組み合わせて使用することで、Elasticsearchクラスターを使用しているサードパーティシステムからの結果を表示することができます。 これは、 クラスター間レプリケーション ドキュメントでも説明されています。

Learning to Rank

設定ファイル: com.liferay.portal.search.learning.to.rank.configuration.LearningToRankConfiguration.configとなっています。

Liferay Enterprise Searchのサブスクリプションで利用可能なLiferay Enterprise Search Learning to Rankモジュールを導入している場合、Learning to Rank構成を使用できます。 これらの構成プロパティについては、専用の Learning to Rank ドキュメントで説明されています。

ウェブ検索

設定ファイル: com.liferay.portal.search.web.internal.configuration.SearchWebConfiguration.config

このエントリーには1つのプロパティが含まれています。

classicSearchPortletInFrontPage: 新しい検索ウィジェットを使用していたデフォルトの検索エクスペリエンスを、過去のリリースで標準装備されていた非推奨のクラシック検索ポートレットに戻します。

同義語

設定ファイル: com.liferay.portal.search.tuning.synonyms.web.internal.configuration.SynonymsConfiguration.config

このエントリには繰り返し可能なプロパティが 1 つあります ( OSGi 構成ファイルで定義する場合は配列構文を使用します)。

synyonymFilterNames: 適用する同義語フィルター名を設定します。 これらのフィルターはElasticsearch Index Settingsで定義する必要があります。 新しい同義語言語フィルターの作成を参照してください。

検索管理

コントロール パネル構成検索 には、接続、インデックス アクション、フィールド マッピングの 3 つの管理 UI があります。

詳細については、専用の 検索管理とチューニング ドキュメントを参照してください。

つながり

検索エンジンへの接続情報が表示されます。 例えば、

  • 検索エンジンベンダー:Elasticsearch
  • クライアントのバージョン:7.16.3
  • 有効な接続:1
  • 稼働状態:緑
  • 接続ID: _REMOTE_
  • 接続タイプ:読み取り/書き込み
  • クラスター名:LiferayElasticsearchCluster
  • ノード:1
  • ノード名:lr-es
  • ノードバージョン:7.17.21

インデックス管理

インデックス アクションで、次のいずれかのレベルでインデックスを再作成します。

  • すべてのインデックス可能アセット
  • 個々のインデックス可能アセット
  • すべてのスペルチェック用インデックス

フィールドマッピング

ポータルプロパティ

ポータルプロパティは、システムにも適用されます。 Lucene Search ポータル プロパティは、低レベルの検索動作を構成します。 プロパティとその説明を見て、自分の検索条件に当てはまるかどうかを判断します。