AEM:高いインデックスコストにより、大規模なDAM環境のクエリパフォーマンスが低下

大規模なAdobe Experience Manager(AEM)環境では、デフォルトのインデックス作成設定により、インデックス作成コストが高いため、クエリのパフォーマンスが低下する可能性があります。 具体的には、dam:Asset種類のdamAssetLucene インデックスは、広範なデジタルアセット管理(DAM)構造をまたいで効率的に拡張できない可能性があります。

この問題を解決するには、ターゲットとなるDAM分岐の下にOakのサブルートインデックス定義を作成して、インデックスの範囲を縮小し、クエリの応答時間を短縮します。

説明 description

環境

Adobe Experience Manager(AEM) 6.5

問題/症状

  • デフォルトのdamAssetLucene インデックスからのインデックス作成コストが高いため、大規模なDAM環境ではクエリのパフォーマンスが低下します。
  • 特定のDAM ブランチのカスタムインデックス (例:/content/dam/test/oak:index/damAssetContent-custom)では、インデックスの範囲が縮小されたため、クエリのパフォーマンスが向上しています。
  • より大きなincludedPathsqueryPathsを持つ/oak:indexでインデックスを使用すると、すべてのコンテンツが再インデックス化され、パフォーマンスのメリットが無効になる可能性があります。

解決策 resolution

特定のDAM ブランチに対してOak サブルートインデックス定義を作成することは、大規模な環境でクエリのパフォーマンスを向上させるための有効で効果的な戦略です。 インデックス作成されたコンテンツの範囲を絞り込むことで、インデックス作成コストを削減します。

  1. ルートレベル /oak:indexではなく、/content/dam/test/oak:index/damAssetContent-customなど、DAM構造内の特定のパスの下にカスタムインデックスを定義します。

  2. queryPathsincludedPathsを設定して、コンテンツの目的のサブセットのみをインデックス化します。

    • queryPaths[ /content/dam/test ]
    • includedPaths[ /test ]
  3. カスタムインデックスを徹底的にテストして、クエリのパフォーマンスを向上させ、意図しない副作用を回避します。

  4. カスタムインデックス定義の範囲を制限して、すべてのコンテンツの不必要なインデックス再作成を防ぎます。

関連トピックス

recommendation-more-help
experience-cloud-kcs-help-kbarticles