AEM Query Builder API에서 일관되지 않은 쿼리 결과

Adobe Experience Manager(AEM)에서 Query Builder API로 쿼리를 실행하면 의도하지 않은 색인이 사용되는 경우 일관되지 않은 결과가 반환됩니다. 수정하려면 index을(를) 사용하여 원하는 인덱스를 지정하십시오. Query Builder API의 태그입니다.

설명 description

환경

  • 제품: AEM Managed Services, Sites ,v6.5
  • 인스턴스: 프로덕션

문제/증상

쿼리 실행 중에 의도하지 않은 색인이 사용되면 쿼리 결과가 일관되지 않습니다.

해결 방법 resolution

이 문제를 해결하려면 다음 단계를 따르십시오

  1. 사용자 지정 값으로 /oak:index/<index> 속성을 지정하여 tags의 사용자 지정 인덱스 정의에 태그를 할당하십시오.

  2. Query Builder API 쿼리에서 p.indexTag 매개 변수를 사용합니다.

  3. 쿼리에 p.indexTag=<tagname>을(를) 추가합니다. 여기서 <tagname>은(는) 사용자 지정 인덱스 태그와 일치합니다.

  4. 쿼리가 의도한 사용자 지정 색인을 사용하는지 확인합니다. 예:

    • 샘플 사용자 지정 인덱스 정의(/oak:index/fullTextSearch 아래): jcr:mixinTypes="[ rep:AccessControllable] "
      async="[ async,nrt] "
      compatVersion="{Long}2"
      evaluatePathRestrictions="{Boolean}true"
      excludedPaths="[ /var,/etc/replication,/etc/workflow/instances,/jcr:system] "
      includedPaths="[ /content/mysite] "
      queryPaths="[ /content/mysite] "
      reindex="{Boolean}false"
      reindexCount="{Long}1"
      seed="{Long}-4788584413483415353"
      type="lucene"
      tags="[ customSearch] "
    • 특정 인덱스를 사용하는 XPath 쿼리: /jcr:root/content/data/element(*, cq:Page)[ (jcr:contains(., 'courses'))] option (index tag customSearch)
    • 동등한 쿼리 빌더 API 쿼리: fulltext=courses
      type=cq:Page
      path=/content/mysite
      p.limit=10
      p.indexTag=customSearch
  5. 업데이트된 쿼리를 실행하여 지정된 사용자 지정 인덱스(customSearch)를 사용하여 일관되고 정확한 결과를 확인합니다.

관련 레독스

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