GraphQL "includeVariations"는 AEMaaCS에서 필터와 함께 빈 을 반환합니다.

AEMaaCS에서 GraphQL 쿼리의 includeVariations:true 매개 변수는 추가 필터(예: _path)가 적용되면 빈 결과를 반환합니다. 이 문제는 특정 필터가 있는 콘텐츠 조각 변형을 가져올 때 발생합니다. 이 문제를 해결하려면 하이브리드 필터링을 활성화하고 쿼리 필터를 수정합니다.

설명 description

환경

  • 제품: Adobe Experience Manager(AEM) as a Cloud Service - 사이트
  • 인스턴스: 개발

문제/증상

  • includeVariations:true을(를) 사용하면 올바른 결과가 반환됩니다.
  • 필터(예: _path)를 추가하면 쿼리 출력이 비어 있습니다.
  • 필터를 사용하여 콘텐츠 조각 변형을 가져올 때 발생합니다.

해결 방법 resolution

문제를 해결하려면 다음 단계를 수행합니다.

  1. cfGlobalVersion=1/content/dam 속성을 추가하여 하이브리드 필터링을 사용하도록 설정합니다. 쿼리 성능을 개선하고 경로 기반 필터링 문제를 수정합니다. 자세한 내용은 AEM GraphQL 하이브리드 필터링 사용 설명서를 참조하십시오.

  2. 프로덕션에 적용하기 전에 더 낮은 환경에서 테스트하십시오.

  3. 쿼리 필터를 수정합니다. 식에 STARTS_WITH 대신 _path에 대해 EQUALS 연산자 사용:

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

    참고: 하이브리드 필터링을 사용하도록 설정한 경우 이 해결 방법이 작동하지 않습니다.

  4. 여러 변형이 필요한 경우 아래에 표시된 대로 별칭을 사용하여 각 변형을 명시적으로 쿼리합니다.

    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. 쿼리 디자인을 최적화하려면 특정 변형이 하나만 필요한 경우 includeVariations: true에 의존하지 않고 변형 매개 변수를 사용하여 쿼리에서 직접 지정하십시오.

  6. 연결된 콘텐츠 모델이 누락된 잘못된 콘텐츠 조각을 확인하십시오.

  7. 잘못된 조각을 정리하거나 적절한 모델과 연결하여 유효화하십시오.

  8. 하이브리드 필터링을 활성화하거나 변경한 후 작성자 및 게시 인스턴스 모두에서 로그를 확인하여 설정이 올바르게 적용되는지 확인하십시오.

  9. 조각이 하나만 필요한 경우 목록 쿼리를 제한적으로 사용하십시오. 타겟팅된 쿼리를 선호합니다(예: pageByPath).

관련 읽기

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