インデックスの更新中にAEM as a Cloud Service パイプラインのエラーを解決する
この記事では、カスタムまたは拡張インデックス定義をデプロイした後にインデックス更新手順で発生したAEM as a Cloud Service Cloud Manager パイプラインのエラーを解決する方法について説明します。 このガイダンスでは、デプロイメントを成功させるための一般的な原因と実行可能なステップについて説明します。
説明 description
環境
Adobe Experience Manager as a Cloud Service (AEMaaCS)
問題/症状
- 新しいインデックス定義の取得時にエラーが発生するパイプラインのエラー
- インデックス設定ファイルに関連する検証警告
原因
主な原因は、カスタム インデックス定義とターゲット環境の標準(OOTB)インデックス バージョンの不一致、不完全または無効なTika設定、不適切なインデックスの命名およびバージョン管理の方法などです。
解決策 resolution
問題を解決するには、次の手順に従います。
- カスタム インデックス定義をターゲット環境のOOTB インデックス定義と比較します。 ターゲット環境と同じまたは新しいリリースを実行しているAEM as a Cloud Service環境から、最新のOOTB インデックス定義(damAssetLucene-14など)を取得します。
- カスタム変更を最新のOOTB定義にマージし、適切なバージョン管理されたカスタム名を割り当てます(例:damAssetLucene-14-custom-2)。 開発環境のOOTB バージョンが他の環境のバージョンと一致すると仮定しないでください。
- カスタムインデックス定義でTika設定を検証します。 tika/ フォルダー、config.xml、jcr:content、jcr:data、およびjcr:mimeTypeをapplication/xmlに設定するなど、完全なTika サブツリーが存在し、有効であることを確認します。 部分的なオーバーライドや空のconfig.xml ノードは避けてください。
- カスタムインデックスのAEM as a Cloud Service命名規則に従います。 完全なカスタムインデックスの場合は、一意のカスタム名とバージョンを使用します(例:-custom-1)。 OOTB インデックスの拡張機能の場合は、OOTBの命名パターンとバージョン管理パターンを使用します。 デプロイ済みのインデックスノードの名前を変更したり、クラウド環境で直接削除したりしないでください。
- すべてのインデックス定義がui.apps/src/main/content/jcr_root/_oak_indexの下にあり、可変コンテンツパッケージではなく、アプリケーションコードパッケージに含まれていることを確認します。 パッケージのメタデータにallowIndexDefinitions=trueとnoIntermediateSaves=trueが含まれていることを確認します。 すべてのインデックス定義では、クラウド互換のLucene設定と、サポートされている非同期設定(
[非同期]、[非同期、nrt]、[フルテキスト非同期]など)を使用する必要があります。 - 修正されたパッケージを下位の環境にデプロイし、デプロイメントが正常に完了し、期待されるインデックス定義が存在し、クエリが意図したインデックスを使用することを確認します。
- 古いインデックス定義を削除するには、インデックスノードの名前を直接変更したり削除したりしないでください。 Cloud Managerでは、退職を個別のコード変更として処理します。 filter.xmlからエントリを削除するだけでは、デプロイされたインデックスデータは削除されません。 後続の準拠インデックス定義を使用して、前のインデックスを無効にし、定期的なクリーンアップの対象にします。
これらの手順を完了した後、パイプラインを再実行し、デプロイメントが成功し、目的のインデックスがアクティブであることを確認します。
recommendation-more-help
experience-cloud-kcs-help-kbarticles