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

検索設定リファレンス

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

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

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

ウィジェットスコープ検索設定

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

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

検索ウィジェット

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

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

検索バー: 検索キーワードの処理方法を設定します。詳細については、 検索バーの設定 を参照してください。

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

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

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

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

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

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

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

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

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

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

サイトスコープ検索設定

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

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

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

ヘッダーの検索バー(デフォルトテーマに埋め込まれた検索バー)が検索バーウィジェットを使用する場合、その設定には必ず 宛先ページ を設定する必要があります。ユーザーはこのページにリダイレクトされ、他の検索ウィジェット(結果、ファセット、候補など)を操作して検索アクティビティを完了します。検索先のページ は、検索ウィジェットを含む通常のページです。検索ウィジェットを持つページは、サイト全体でいくつでも持つことができます。

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

重要

宛先の検索ページに、テーマに組み込まれたヘッダー検索バー(Liferayのデフォルトテーマなど)に加えて、検索バーウィジェットインスタンスが存在する場合、ヘッダー検索バーの設定がページのウィジェットインスタンスの設定よりも優先されます。

逆に、他のページにある検索バーウィジェットインスタンスからの検索は、ヘッダーの検索バーの設定と異なっていても、そのウィジェットインスタンスの設定を尊重します。

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

インスタンススコープの検索設定

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

検索のインスタンススコープ設定は、グローバルメニュー → アプリケーションにある以下のアプリケーションのみです。

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

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

システムスコープ検索構成

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

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

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

    または、 を検索し、 を検索してください。

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

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

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

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

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

disabledEntryClassNames: DefaultKeywordQueryContributor コードは、キーワード検索クエリに description、 userName、および title フィールドを自動的に追加します。エントリークラス名 DefaultKeywordQueryContributor を無視するように指定します。

デフォルトの検索結果権限フィルター

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

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

  • permissionFilteredSearchResultAccurateCountThreshold: 正確なカウントのために permissions-filter する検索結果の最小数を指定します。このしきい値までの結果は常に権限によるフィルタリングが行われます。このしきい値を超える結果については、概算カウントが使用される場合があります。閾値を高くするとカウント精度は向上するが、パフォーマンスは低下する。

  • permissionFilteringTimeLimit: 権限フィルタリングに許可される時間をミリ秒単位で設定します。権限フィルタリングに到達すると、現在のバッチの処理が完了し、保留中のバッチはすべて破棄されます。デフォルト値 0 は制限なしを示します。

  • searchQueryResultWindowLimit: 各権限チェック要求の最大バッチサイズを設定します。ページネーションの深さにも影響されます。この値は、Elasticsearch 設定の Max Result Window 設定を超えてはなりません。

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

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

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

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

インデクサーライターヘルパー

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

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

indexCommitImmediately: true (デフォルト) の場合、書き込み要求があるたびに検索エンジンはインデックス リーダーを更新し、トランザクションをディスクにフラッシュする可能性があります。これは、検索エンジンのパフォーマンスに悪影響を与える可能性があります。デフォルトの動作は、個々のアセットへのインデックス書き込み(例: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 tokenizer に頼る方が、通常は良い結果が得られます。

インデックスの再作成

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

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

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

重要

ウェブコンテンツ記事のインデックス作成バッチサイズを設定するには、指定するモデルはウェブコンテンツの設定によって異なります。システム設定 → コンテンツ & データ → ウェブコンテンツ → ウェブコンテンツ(仮想インスタンススコープ)でindexAllArticleVersionsEnabledがtrueの場合、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.TitleFieldQueryBuilderConfiguration.config

ドキュメントのタイトルフィールドで一致する項目に対して、検索がどのように応答するかを設定します。

exactMatchBoost: 検索キーワードがドキュメントの タイトル フィールドと完全に一致する場合に、追加のブーストを与えます。

maxExpansions: 検索キーワードを タイトル フィールドのフレーズ接頭辞と一致させたときに返されるドキュメントの数を制限します。詳細については、Elasticsearch の マッチフレーズクエリのドキュメント を参照してください。

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

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

Elasticsearchモニタリング

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

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

Elasticsearch 7/8

重要

Liferay DXP 2026.Q1より前のバージョンの場合:

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

  • 設定ファイルでは、Elasticsearch 8 に接続する場合でも、名前に elasticsearch7 を使用します。

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

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

Elasticsearch接続

重要

Liferay DXP 2026.Q1 より前のバージョンでは、Elasticsearch 8 に接続する場合でも、設定ファイルでは elasticsearch7 が使用されます。

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

Liferay DXP 7.3以降(およびすべての四半期リリース)は、複数のElasticsearchクラスターに接続できます。接続はElasticsearchの接続エントリで定義されます。この機能は、低レベル検索オプションおよび検索結果ウィジェットと組み合わせて使用することで、Elasticsearchクラスタを使用するサードパーティシステムからの結果を表示できます。例については、 クロスクラスタレプリケーション のドキュメントを参照してください。

ランキングを学ぶ

設定ファイル: com.liferay.portal.search.learning.to.rank.configuration.LearningToRankConfiguration.config

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のインデックス設定で定義する必要があります。新しい同義語言語フィルターの作成 を参照してください。

検索管理

グローバル メニュー (Global Menu) → コントロール パネル → 検索 には、接続、インデックス アクション、フィールド マッピングの 3 つの管理 UI があります。

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

つながり

検索エンジンとの連携に関する情報がここに表示されます。例えば、

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

インデックス操作

インデックス操作で、以下のいずれかのレベルで再インデックスを実行します。

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

分野マッピング

ポータルプロパティ

ポータルのプロパティもシステムスコープです。 Lucene Search ポータルプロパティは、低レベルの検索動作を設定します。特に、ポータル プロパティ index.search.limit は、Liferay DXP が検索クエリごとに要求する最大結果数を設定し、Elasticsearch 設定 Max Result Window と一致する必要があります。他の物件とその説明を確認し、ご自身の検索条件に合致するかどうかを判断してください。