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

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

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

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