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:true gebruikt, 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:

  1. Schakel hybride filters in door de eigenschap cfGlobalVersion=1 aan /content/dam toe 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.

  2. Test het in een lagere omgeving voordat u het product gaat produceren.

  3. Zoekfilters wijzigen. Gebruik de operator STARTS_WITH voor _path in plaats van EQUALS in 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.

  4. 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
             }
           }
         }
    
  5. 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.

  6. Controleren op ongeldige inhoudsfragmenten waarin de gekoppelde inhoudsmodellen ontbreken.

  7. Maak ongeldige fragmenten ongedaan of maak ze geldig door ze aan de juiste modellen te koppelen.

  8. 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.

  9. 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

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