AEM as a Cloud Service deployment fails at indexing step due to incorrect analyzer configuration

This article explains how to resolve deployment failures at the indexing step in AEM as a Cloud Service when migrating custom Oak search indexes using Simplified Index Management, specifically when analyzer configurations reference word-list files incorrectly.

Description description

Environment

Adobe Experience Manager as a Cloud Service (AEMaaCS)

Issue/Symptoms

  • Deployment pipelines to non-production environments fail during the indexing step when migrating custom Oak search indexes to Simplified Index Management.
  • The failure occurs when custom analyzer definitions in the index configuration reference external word-list files (such as types.txt, stop.txt, or synonym.txt) as plain string properties instead of as nt:file nodes with content under jcr:content/jcr:data.
  • No explicit error message is provided in the pipeline logs, but the deployment does not complete successfully when the incorrect analyzer structure is present.

Cause

The deployment fails because the analyzer configuration references word-list files as plain string properties instead of as nt:file nodes with content under jcr:content/jcr:data, causing the pipeline validation to fail.

Resolution resolution

Follow the steps below to resolve the issue:

  1. Review your custom Oak index definition (diff.json) for any analyzer filters that reference external word-list files (such as types.txt, stop.txt, or synonym.txt).

  2. For each filter (such as WordDelimiter, Stop, or Synonym) that references a file, ensure the file is defined as an nt:file node with its content under jcr:content/jcr:data.

    Example of the correct structure for the Stop filter:

    code language-none
    {
      "Stop": {
        "words": "stop.txt",
        "stop.txt": {
          "jcr:primaryType": "nt:file",
          "jcr:content": {
            "jcr:primaryType": "nt:resource",
            "jcr:mimeType": "text/plain",
            "jcr:data": "a about abov ... your"
          }
        }
      }
    }
    
  3. Apply the same structure for synonym.txt under the Synonym filter and types.txt under the WordDelimiter filter.

  4. Remove any plain string properties that hold raw text directly for these files; only the file node structure is supported.

  5. Re-run the deployment pipeline after making these changes.

  6. After a successful deployment, validate in your Stage or Dev environment that synonym and stopword behavior functions as expected in Assets search queries.

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