GraphQL "includeVariations" retourneert leeg met filters in AEMaaCS
In AEMaaCS retourneert de parameter includeVariations:true in een GraphQL-query lege resultaten wanneer een extra filter (bijvoorbeeld _path ) wordt toegepast. Dit gebeurt wanneer u variaties van inhoudsfragmenten ophaalt met specifieke filters. Om deze kwestie te bevestigen, laat hybride filtreren toe en wijzig de vraagfilter.
Beschrijving description
Omgeving
- Product: Adobe Experience Manager (AEM) as a Cloud Service - Plaatsen
- Instantie: Ontwikkeling
Probleem/symptomen
- Als u
includeVariations:truegebruikt, worden de juiste resultaten geretourneerd. - Als u filters toevoegt (bijvoorbeeld
_path), wordt de query leeg uitgevoerd. - Vindt plaats bij het ophalen van variaties in inhoudsfragmenten met filters
Resolutie resolution
Ga als volgt te werk om het probleem op te lossen:
-
Schakel hybride filters in door de eigenschap
cfGlobalVersion=1aan/content/damtoe te voegen. Het verbetert vraagprestaties en lost op weg-gebaseerde het filtreren kwesties op. Verwijs het hybride filtreren van AEM GraphQL van het Gebruik documentatie voor meer details. -
Test het in een lagere omgeving voordat u het product gaat produceren.
-
Zoekfilters wijzigen. Gebruik de operator
STARTS_WITHvoor_pathin plaats vanEQUALSin expressies:code language-none [ { value: "/content/dam/content-fragments/sites/example-path/", _operator: STARTS_WITH } ]Nota : Deze alternerende actie werkt niet als het hybride filtreren wordt toegelaten.
-
Als de veelvoudige variaties worden vereist, vraag uitdrukkelijk elke variatie gebruikend aliassen, zoals hieronder getoond:
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 } } } -
Om vraagontwerp te optimaliseren, als slechts één specifieke variatie nodig is, specificeer het direct in de vraag gebruikend de variatieparameter in plaats van zich het verlaten op
includeVariations: true. -
Controleren op ongeldige inhoudsfragmenten waarin de gekoppelde inhoudsmodellen ontbreken.
-
Maak ongeldige fragmenten ongedaan of maak ze geldig door ze aan de juiste modellen te koppelen.
-
Nadat u hybride filters hebt ingeschakeld of wijzigingen hebt aangebracht, controleert u of de auteur zich aanmeldt en exemplaren publiceert om te bevestigen dat de instellingen correct zijn toegepast.
-
Maak spaarzaam gebruik van query's in lijsten wanneer slechts één fragment nodig is; geef de voorkeur aan gerichte query's (bijvoorbeeld
pageByPath).
Gerelateerde lezing
- Bijwerkend uw Fragmenten van de Inhoud voor geoptimaliseerde het Filtreren van GraphQL in de gebruikersgids van AEM as a Cloud Service.
- optimaliseer de vragen van GraphQL in de documentatie van AEM.