解决索引更新期间的AEM as a Cloud Service管道故障

本文说明如何解决在部署自定义或扩展索引定义后,在索引更新步骤期间出现AEM as a Cloud Service Cloud Manager管道故障的问题。 该指南涵盖了常见原因以及有助于确保成功部署的可操作步骤。

描述 description

环境

Adobe Experience Manager as a Cloud Service (AEMaaCS)

问题/症状

  • 管道失败,错误指示检索新索引定义时出现问题
  • 与索引配置文件相关的验证警告

原因

根本原因通常包括:自定义索引定义与目标环境中的现成(OOTB)索引版本不匹配、Tika配置不完整或无效,或者索引命名和版本控制实践不当。

解决方法 resolution

请按照以下步骤解决问题:

  1. 将您的自定义索引定义与目标环境中的OOTB索引定义进行比较。 从运行与目标环境相同或更新的版本的AEM as a Cloud Service环境中获取最新的OOTB索引定义(例如damAssetLucene-14)。
  2. 将您的自定义更改合并到最新的OOTB定义中,并分配适当的版本化自定义名称(例如,damAssetLucene-14-custom-2)。 请勿假定开发环境中的OOTB版本与其他环境中的版本匹配。
  3. 验证自定义索引定义中的Tika配置。 确保完整的Tika子树存在且有效,包括设置为application/xml的tika/文件夹、config.xml、jcr:content、jcr:data和jcr:mimeType。 避免部分覆盖或空config.xml节点。
  4. 遵循自定义索引的AEM as a Cloud Service命名约定。 对于完全自定义的索引,请使用唯一的自定义名称和版本(例如 — custom-1)。 对于OOTB索引的扩展,请使用OOTB命名和版本控制模式。 请勿直接在云环境中重命名或删除已部署的索引节点。
  5. 确认所有索引定义都位于ui.apps/src/main/content/jcr_root/_oak_index下,并包含在应用程序代码包中,而不是可变内容包中。 确保包元数据包括allowIndexDefinitions=true和noIntermediateSave=true。 所有索引定义都必须使用与云兼容的Lucene配置和受支持的异步设置(如[异步设置][异步设置,nrt][全文异步设置] )。
  6. 将修订的包部署到较低的环境,并验证部署是否成功完成,是否出现预期的索引定义,以及查询是否使用预期的索引。
  7. 要停用旧的索引定义,请勿直接重命名或删除索引节点。 请改为通过Cloud Manager将弃用作为单独的代码更改来处理。 仅从filter.xml中删除条目不会删除已部署的索引数据。 使用后续的兼容索引定义来禁用上一个索引,并使其符合定期清理的条件。

完成这些步骤后,重新运行管道并验证部署是否成功以及目标索引是否处于活动状态。

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