解决索引更新期间的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和noIntermediateSave=true。 所有索引定义都必须使用与云兼容的Lucene配置和受支持的异步设置(如
[异步设置]、[异步设置,nrt]或[全文异步设置])。 - 将修订的包部署到较低的环境,并验证部署是否成功完成,是否出现预期的索引定义,以及查询是否使用预期的索引。
- 要停用旧的索引定义,请勿直接重命名或删除索引节点。 请改为通过Cloud Manager将弃用作为单独的代码更改来处理。 仅从filter.xml中删除条目不会删除已部署的索引数据。 使用后续的兼容索引定义来禁用上一个索引,并使其符合定期清理的条件。
完成这些步骤后,重新运行管道并验证部署是否成功以及目标索引是否处于活动状态。
recommendation-more-help
experience-cloud-kcs-help-kbarticles