解決索引更新期間的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子樹狀結構存在且有效,包括設定為application/xml的tika/資料夾、config.xml、jcr:content、jcr:data和jcr:mimeType。 避免部分覆寫或空的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]或[非同步fulltext])。 - 將修訂後的套件部署到較低環境,並確認部署成功完成、存在預期的索引定義,以及查詢使用預期的索引。
- 若要淘汰舊的索引定義,請勿直接重新命名或刪除索引節點。 請改透過Cloud Manager將淘汰作為單獨的程式碼變更來處理。 僅從filter.xml移除專案並不會移除已部署的索引資料。 使用後續的相容索引定義來停用先前的索引,並使其符合定期清除的資格。
完成這些步驟後,請重新執行管道,並確認部署成功且目標索引有效。
recommendation-more-help
experience-cloud-kcs-help-kbarticles