再インデックスのプロセスは、トリガーとなる操作やデータソースの設定によって異なります。この違いは、インポートされるデータや既存データの処理方法に影響を及ぼします。このガイドでは、本番環境でのデータ同期の問題を防ぐため、これらの動作について解説します。
仕組み
-
再インデックスをトリガーする操作:定期的な再インデックスとオフライン変更
|
アプリケーションタイプ |
データソース |
定期的な再インデックス |
オフライン変更 |
|
高性能検索エディション |
RDS/PolarDB |
RDS/PolarDB からのフルインポート |
RDS/PolarDB からのフルインポート |
|
RDS/PolarDB + DTS からの増分更新 |
RDS/PolarDB からのフルインポート + DTS からの増分更新 |
RDS/PolarDB からのフルインポート + DTS からの増分更新 |
|
|
MaxCompute からのフルインポート + API による増分更新 |
MaxCompute からのフルインポート |
MaxCompute からのフルインポート + 再インデックス中の API からの増分データ |
|
|
データソースなし |
(サポートされていません) |
(サポートされていません) |
再インデックス操作
OpenSearch は、データソースから同期されたデータを含め、データのコピーを保存します。アプリケーションスキーマの変更や、完全なデータインポートが必要な場合に、再インデックスが必要になります。以下の操作が再インデックスをトリガーします:
-
定期的な再インデックス:通常、MaxCompute などのデータソースから毎日フルインポートを実行するために使用します。
-
オフライン変更:アプリケーションスキーマ、インデックススキーマ、または属性スキーマを変更すると、再インデックスがトリガーされます。
定期的な再インデックス
定期的な再インデックス タスクを作成して、指定した時刻に 1 日 1 回インデックスを自動的に再構築できます。
-
OpenSearch コンソールに移動します。左上隅で [OpenSearch-高性能検索エディション] を選択します。[アプリケーション管理] ページで、対象アプリケーションの [詳細] をクリックします。
-
[再インデックス] をクリックします。
-
定期的な再インデックス タスクの実行時刻を選択します。最小頻度は 1 日 1 回です。
定期タスク設定パネルで、[曜日ボタン] (月曜日から日曜日) を使用して実行日を選択できます。[データの自動更新] を選択することもできます。これらの設定が完了したら、[変更] をクリックして設定を保存します。
-
1 つのアプリケーションでは、最大でオンラインバージョンとオフラインバージョンの 2 つのバージョンを保持できます。2 つのバージョンが既に存在する場合、定期的な再インデックスではオフラインバージョンが自動的に削除されます。手動で再インデックスを実行する場合は、ご自身でオフラインバージョンを削除する必要があります。
-
定期的な再インデックス タスクが完了すると、新しいオフラインバージョンが自動的にオンラインバージョンになります。以前のオンラインバージョンは、8〜16 時間後に自動的に削除されます。
再インデックスのプロセスと進捗
再インデックスのプロセスは、データインポート > データ処理 > インデックス構築の各ステージで構成されています。
データソースからデータがインポートされると、システムはデータを処理し、ビルドサービスに送信してインデックス構築を行います。フルインポートのビルド タスクはサイクルで実行され、各サイクルの所要時間は約 30 分です。そのため、ドキュメント数が少ない場合でも、フルインポートの完了には時間がかかることがあります。コンソールに表示される再インデックスの進捗は、段階的に更新されます。
-
オフライン変更によって新しいオフラインバージョンが作成されると、コンソールのアプリケーション詳細ページにオンラインバージョンとオフラインバージョンの両方が表示されます。
-
オンラインバージョンとオフラインバージョンの両方が存在する場合、検索リクエストを処理するのはオンラインバージョンのみです。デフォルトでは、アプリケーション名に対する API コールはオンラインバージョンを対象とします。
-
オンラインバージョンとオフラインバージョンの両方が存在する場合、オフライン変更と再インデックス機能は利用できません。この場合、アプリケーションを単一のバージョンにする必要があります。保持したいバージョンを公開してから、不要なオフラインバージョンを削除してください。
-
アプリケーション バージョンの削除は、元に戻すことのできない操作です。