再インデックスモード
Liferay DXP 2023.Q4+/ポータル GA102+
再インデックス とは、Liferay のコンテンツの検索 (場合によっては表示) に使用される検索インデックスの全部または一部を更新することです。 グローバル メニュー → コントロール パネル → 検索 → インデックス アクション の 検索管理パネル から再インデックスを実行します。 2023.Q4/Portal GA102 リリースには、新しい再インデックス モードが含まれています: 同時実行 と 同期。 これらは高可用性の再インデックス化を提供するため、ユーザーがサイトのコンテンツを検索し続けている間にも再インデックス化プロセスを実行でき、ダウンタイムを排除できます。 利用可能な 3 つの再インデックス モードから選択します。
| インデックス再構築モード | 説明 | 高可用性 | サポートされているアクション |
|---|---|---|---|
| 最初にインデックスを削除し、その後再生成します。 | ✘ | ✔ グローバル: すべてのインデックス ✔ グローバル: スペルチェック辞書 ✔ 単一モデルの再インデックス | |
| 新しいインデックスを作成し、新しいインデックスが準備されるまで古いインデックスをそのまま残します (つまり、青/緑の再インデックス)。 | ✔ | ✔ グローバル: すべてのインデックス ✘ グローバル: スペルチェック辞書 ✘ 単一モデルの再インデックス | |
| 既存の検索インデックス ドキュメントを更新し、完了したら古いドキュメントを削除します。 | ✔ | ✔ グローバル: すべてのインデックス ✘ グローバル: スペルチェック辞書 ✔ 単一モデルの再インデックス |
再インデックスモードの選択
完全な再インデックスは、すべてのコンテンツとインデックスであっても、単一のモデルであっても、あらゆるシナリオで機能します。 しかし、それが常に最善の選択であるとは限りません。 長時間実行される完全な再インデックスプロセスによるダウンタイムを回避するには、可能な限り同時モードまたは同期モードを使用します。
| 次の場合に再インデックスを実行します: | 全体 | 同時 | 同期 |
|---|---|---|---|
| 新しいElasticsearchクラスターのインストール | ✔ | - | - |
| フィールドマッピングの更新 | ✓ | ✔ | - |
| インデックス設定の更新 | ✓ | ✔ | - |
| アップグレードの基本 | ✓ | ✔ | ✓ |
| Elasticsearchのアップグレード | ✓ | ✔ | ✓ |
| 接続停止後の再インデックス | ✓ | ✔ | ✓ |
| 単一モデルの再インデックス1 | ✓ | - | ✔ |
✔ このモードはシナリオに推奨されます
✓ このモードはシナリオで利用可能です
- このモードはシナリオでは使用できません
以前の Liferay バージョンでは、再インデックスでは常にフル モードが使用され、再生成する前にライブ プロダクション インデックスからコンテンツが削除されていました。 これにより、検索インデックスの大幅なダウンタイムが発生する可能性があります。 同時および同期の再インデックス モードでは、最初にインデックスを削除せずに再インデックスが実行されます。 同期モードではインデックスがその場で更新されますが、同時実行モードではバックグラウンドで新しいインデックスが構築され、準備ができるまで古いインデックスが保持されます。 検索インデックスの高可用性は、ダウンタイムが最小限に抑えられることを意味します。つまり、サイトのコンテンツを再インデックスする間にも、サイトのユーザーはサイトを閲覧および検索できます。

可能な限り、再インデックス中のダウンタイムを回避するために、同時実行モードまたは同期モードを選択してください。 ただし、状況に応じてどのモードが適切かを判断する際に考慮すべき点があります。
完全再インデックスモード
新しい空の Elasticsearch クラスターに接続するときは、すべてのコンテンツをインデックスするために フル モードを使用する必要があります。 このシナリオでは、高可用性は考慮されません。 同期モードでは不十分な場合は、単一モデルの再インデックスにフル モードを使用することもできますが、同期モードが推奨されます。 すべてのインデックスの高可用性再インデックス化を行うには、代わりに同時実行モードを使用します。
完全な再インデックスは次のように進行します。
- 元のインデックスは削除されます。
- 最新のインデックス設定とフィールド マッピングを使用して新しいインデックスが作成されます。
- ドキュメントはインデックス内で再生成されます。
同時再インデックスモード
ブルー/グリーン再インデックス戦略を使用してすべてのコンテンツの高可用性再インデックスを実行するには、 同時実行 モードを使用します。 単一モデルの再インデックスには同時モードは使用できません。代わりに同期モードを使用してください。 同時実行モードは、すべてのコンテンツを再インデックスするときに、完全再インデックス モードの代わりとして機能します。
同時再インデックスは次のように進行します。
- 最新のインデックス設定とフィールド マッピングを使用して新しいインデックスが作成されます。
- ドキュメントはインデックス内で再生成されます。
- 元のインデックスは削除されます。
同時再インデックスでは、古いインデックスの横に新しいインデックスが作成されるため、Elasticsearch システムのインフラストラクチャでは他のモードよりも多くのディスク領域が必要になります。 ディスク容量不足によるエラーを回避するために、Liferay は使用可能な容量が十分かどうかを推定し、十分でない場合は警告を発します。

同期再インデックスモード
Elasticsearch のプライマリ ディスク領域が懸念される場合、またはすべての高可用性単一モデルの再インデックス化のニーズがある場合、高可用性の再インデックス化には 同期 モードを使用します。 同期モードではシステムの変更を適切に考慮できず、他のモードのいずれかを使用する必要があるシナリオがあります。
同期再インデックスは次のように進行します。
- インデックス ドキュメントは更新されますが、削除されません。
- 古いドキュメントは削除されます。
同期再インデックスでは、更新されたインデックス設定やマッピングが考慮されないため、同時再インデックスよりも制限があります。
デフォルトの再インデックスモードの設定
完全な再インデックス モードがデフォルトです。 デフォルト値を変更するには、
-
グローバル メニュー → コントロール パネル → システム設定に移動します。
-
プラットフォーム → 検索の下にある 再インデックス エントリを開きます。
-
デフォルトの再インデックス実行モード を設定し、 更新をクリックします。

-
場合によっては、単一のモデルの再インデックスが必要になりますが、このような場合には同期モードが推奨されます。 たとえば、 検索ブループリントを作成 し、 セマンティック検索を有効に しながら特定の要素を使用すると、個々のモデル タイプの再インデックスが必要になります。
↩