再インデックス・モード
ライフェライ2023.Q4+/GA102+について
再インデックス化 とは、Liferayのコンテンツの検索や表示に使われる検索インデックスの全部または一部を更新することです。 グローバルメニュー → コントロールパネル → 検索 → インデックスアクション の 検索管理パネル から再インデックスを実行する。 2023.Q4/GA102リリースに新しい再インデックス・モードが追加されました: Concurrent と Sync です。 これらは高可用性の再インデックス処理を提供し、ユーザーがサイトのコンテンツを検索し続ける間に再インデックス処理を実行できるため、ダウンタイムをなくすことができます。 利用可能な3つの再インデックスモードから選択します:
再インデックス・モード | 説明 | 高可用性 | 対応アクション |
---|---|---|---|
Full | まずインデックスを削除し、次にそれを再生成する。 | ✘ | ✔ グローバル:すべてのインデックス ✔ グローバル:スペルチェック辞書 ✔ 単一モデルの再インデックス化 |
コンカレント | 新しいインデックスを作成し、新しいインデックスの準備ができるまで、古いインデックスをそのままにしておく(つまり、青/緑の再インデックス)。 | ✔ | ✔ グローバル:すべてのインデックス ✘ グローバル:スペルチェック辞書 ✘ 単一モデルの再インデックス化 |
同期 | 既存の検索イ ンデ ッ ク ス文書を更新 し 、 終了す る と 古い文書を削除 し ます。 | ✔ | ✔ グローバル:すべてのインデックス ✘ グローバル:スペルチェック辞書 ✔ 単一モデルの再インデックス化 |
コンカレントモードと同期モードは、with Elasticsearchのみ利用可能です。
再インデックス・モードの選択
完全な再インデックスは、すべてのコンテンツとインデックスであろうと、単一のモデルであろうと、どのようなシナリオでも機能する。 しかし、それが常に最良の選択とは限らない。 完全な再インデックス処理を長時間実行することによるダウンタイムを避けるため、可能な限りコンカレントモードまたはシンクモードを使用する。
再インデックス | 全体 | 同時進行 () | 同期 () |
---|---|---|---|
新しい Elasticsearch クラスタのインストール | ✔ | - | * |
フィールドマッピングの更新 | ✓ | ✔ | - |
インデックス設定の更新 | ✓ | ✔ | * |
Liferay のアップグレード | ✓ | ✔ | ✓ |
Elasticsearch のアップグレード | ✓ | ✔ | ✓ |
接続停止後のインデックス再作成 | ✓ | ✔ | ✓ |
単一モデル1の再インデックス化 | ✓ | - | ✔ |
✔ シナリオに適したモード
✓ このモードはシナリオで使用可能
- シナリオで使用できないモードです。
以前のLiferayバージョンでは、再インデックス作成は常にフルモードを使用し、本番インデックスからコンテンツを削除してから再生成していました。 その結果、検索インデックスが大幅にダウンする可能性がある。 同時再インデックスモードと同期再インデックスモードでは、最初にインデックスを削除することなく再インデックスが行われる。 同期モードはインデックスをその場で更新し、同時実行モードはバックグラウンドで新しいインデックスを作成し、準備ができるまで古いインデックスを保持する。 検索インデックスの可用性が高いということは、ダウンタイムが最小限に抑えられるということです。つまり、サイトのコンテンツのインデックスを再作成している間も、サイトのユーザーはサイトを閲覧したり検索したりすることができます。
可能な限り、再インデックス中のダウンタイムを避けるために、コンカレントモードまたはシンクモードを選択する。 しかし、自分の状況に合ったモードを決めるには、考慮すべき点がある。
完全再インデックス・モード
新しい空のElasticsearchクラスタに接続する場合は、 full modeを使用してすべてのコンテンツをインデックス化する必要があります。 このシナリオでは、高可用性は考慮されない。 シンクモードでは不十分な場合、単一モデルの再インデックス作成にフルモードを使用することもできますが、シンクモードを推奨します。 すべてのインデックスを高可用性で再インデックスするには、代わりにコンカレント・モードを使用してください。
完全な再インデックスはこのように進行する:
- 元のインデックスは削除される。
- 最新のインデックス設定とフィールドマッピングで新しいインデックスが作成される。
- 文書がインデックスに再生成される。
同時再インデックス・モード
ブルー/グリーンの再インデックス戦略を使用して、すべてのコンテンツの高可用性再インデックスには concurrent モードを使用します。 同時実行モードは単一モデルの再インデックス作成には使用できません。 コンカレント・モードは、すべてのコンテンツのインデックスを再作成する際に、完全再作成モードの代わりとなる。
同時再インデックスはこのように進行する:
- 最新のインデックス設定とフィールドマッピングで新しいインデックスが作成される。
- 文書がインデックスに再生成される。
- 元のインデックスは削除される。
コンカレントリインデックスは古いインデックスと同時に新しいインデックスを作成するため、他のモードよりもElasticsearchシステムのインフラに多くのディスクスペースを必要とします。 ディスク容量不足によるエラーを避けるため、Liferayは利用可能な容量が十分かどうかを推定し、十分でない場合は警告を表示します:
同期再インデックスモード
Elasticsearch のプライマリディスクの空き容量が気になる場合、またはすべての高可用性シングルモデルの再インデックス作成が必要な場合は、 sync mode を使用してください。 シンクモードではシステムの変更を適切に考慮できない場合があり、他のモードのいずれかを使用しなければならない。
同期の再インデックスはこのように進行する:
- 索引文書は更新されるが、削除はされない。
- 古くなった文書は削除される。
同期再インデックスは更新されたインデックス設定やマッピングを考慮しないため、同時再インデックスよりも制限される。
デフォルトの再インデックス・モードの設定
完全再インデックス・モードがデフォルト。 デフォルト値を変更するには、
-
グローバルメニュー → コントロールパネル → システム設定 にアクセスします。
-
Platform → Searchの Reindex エントリーを開く。
-
デフォルトの再インデックス実行モード を設定し、 更新 をクリックする。