GraphQL "includeVariations" devuelve un valor vacío con filtros en AEMaaCS
En AEMaaCS, el parámetro includeVariations:true de una consulta GraphQL devuelve resultados vacíos cuando se aplica un filtro adicional (por ejemplo, _path). Esto sucede cuando se recuperan variaciones de fragmentos de contenido con filtros específicos. Para solucionar este problema, habilite el filtrado híbrido y modifique el filtro de consulta.
Descripción description
Entorno
- Producto: Adobe Experience Manager (AEM) as a Cloud Service - Sitios
- Instancia: Desarrollo
Problema/Síntomas
- El uso de
includeVariations:truedevuelve resultados correctos. - Si agrega filtros (por ejemplo,
_path), el resultado es un resultado de consulta vacío. - Se produce al recuperar variaciones de fragmentos de contenido con filtros
Resolución resolution
Para resolver el problema, siga estos pasos:
-
Habilite el filtrado híbrido agregando la propiedad
cfGlobalVersion=1a/content/dam. Mejora el rendimiento de las consultas y corrige los problemas de filtrado basados en rutas. Consulte la Documentación sobre el uso del filtrado híbrido de AEM GraphQL para obtener más información. -
Pruébelo en un entorno inferior antes de aplicarlo a la producción.
-
Modifique los filtros de consulta. Utilice el operador
STARTS_WITHpara_pathen lugar deEQUALSen las expresiones:code language-none [ { value: "/content/dam/content-fragments/sites/example-path/", _operator: STARTS_WITH } ]Nota: esta solución no funciona si el filtrado híbrido está habilitado.
-
Si se requieren varias variaciones, consulte explícitamente cada variación con alias, como se muestra a continuación:
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 } } } -
Para optimizar el diseño de la consulta, si solo se necesita una variación específica, especifíquela directamente en la consulta utilizando el parámetro de variación en lugar de depender de
includeVariations: true. -
Compruebe si hay fragmentos de contenido no válidos en los que falten los modelos de contenido asociados.
-
Limpie los fragmentos no válidos o haga que sean válidos asociándolos a los modelos adecuados.
-
Después de habilitar el filtrado híbrido o de realizar cambios, compruebe los registros de las instancias de autor y publicación para confirmar que la configuración se aplique correctamente.
-
Utilice las consultas de lista con moderación cuando solo se necesite un fragmento; prefiera las consultas de destino (por ejemplo,
pageByPath).
Lectura relacionada
- Actualizando los fragmentos de contenido para el filtrado optimizado de GraphQL en la guía del usuario de AEM as a Cloud Service.
- Optimizar consultas de GraphQL en la documentación de AEM.