O GraphQL "includeVariations" retorna vazio com filtros no AEMaaCS

No AEMaaCS, o parâmetro includeVariations:true em uma consulta GraphQL retorna resultados vazios quando um filtro adicional (por exemplo, _path) é aplicado. Isso acontece ao buscar variações de fragmento de conteúdo com filtros específicos. Para corrigir esse problema, habilite a filtragem híbrida e modifique o filtro de consulta.

Descrição description

Ambiente

  • Produto: Adobe Experience Manager (AEM) as a Cloud Service - Sites
  • Instância: Desenvolvimento

Problema/Sintomas

  • O uso de includeVariations:true retorna resultados corretos.
  • Adicionar filtros (por exemplo, _path) resulta em uma saída de consulta vazia.
  • Ocorre ao buscar variações de fragmento de conteúdo com filtros

Resolução resolution

Para resolver o problema, siga estas etapas:

  1. Habilite a filtragem híbrida adicionando a propriedade cfGlobalVersion=1 a /content/dam. Ele melhora o desempenho da consulta e corrige problemas de filtragem baseados em caminho. Consulte a documentação Usar a filtragem híbrida do AEM GraphQL para obter mais detalhes.

  2. Teste-o em um ambiente inferior antes de aplicá-lo à produção.

  3. Modifique filtros de consulta. Use o operador STARTS_WITH para _path em vez de EQUALS em expressões:

    code language-none
    [
                {
                    value: "/content/dam/content-fragments/sites/example-path/",
                     _operator: STARTS_WITH
                 }
            ]
    

    Observação: essa solução alternativa não funcionará se a filtragem híbrida estiver habilitada.

  4. Se várias variações forem necessárias, consulte explicitamente cada variação usando aliases, conforme mostrado abaixo:

    code language-none
    query($path: String!) {
           standard: pageByPath(_path: $path, variation: "standard") {
             item {       _path
               title       _variation
             }
           }
           premier: pageByPath(_path: $path, variation: "premier") {
             item {       _path
               title       _variation
             }
           }
         }
    
  5. Para otimizar o design da consulta, se apenas uma variação específica for necessária, especifique-a diretamente na consulta usando o parâmetro de variação em vez de depender de includeVariations: true.

  6. Verifique se há fragmentos de conteúdo inválidos nos quais os modelos de conteúdo associados estejam ausentes.

  7. Limpe fragmentos inválidos ou torne-os válidos associando-os a modelos apropriados.

  8. Depois de ativar a filtragem híbrida ou fazer alterações, verifique os logs nas instâncias do autor e de publicação para confirmar se as configurações foram aplicadas corretamente.

  9. Use consultas de lista com moderação quando apenas um fragmento for necessário; prefira consultas direcionadas (por exemplo, pageByPath).

Leitura relacionada

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f