AEM as a Cloud Service: 분리된 경로를 검색할 때 ‘필터에 대한 색인 없는 전체 텍스트 쿼리’ 경고

이 문서에서는 분리된 하위 트리 간에 전체 텍스트 쿼리를 실행할 때 Adobe Experience Manager에서 필터 r 경고에 대한 인덱스 없이 자주 전체 텍스트 쿼리가 발생하는 원인과 영향에 대해 설명합니다.

설명 description

환경

  • Adobe Experience Manager(AEM) as a Cloud Service(AEMasaCS)(모든 버전)
  • Adobe Experience Manager

문제/증상

ISDESCENDANTNODE() 경로 제한 사이에 OR을(를) 사용하여 둘 이상의 분리된 하위 트리에서 검색하는 전체 텍스트 JCR-SQL2 쿼리를 실행할 때 사용자 지정 Lucene 인덱스가 정의되고 태그가 지정되었더라도 로그에 다음 경고가 표시됩니다.

WARN  org.apache.jackrabbit.oak.query.QueryImpl Fulltext query without index for filter ... no results will be returned
  • 경고는 하루에 약 3000번 기록됩니다.
  • 경고를 트리거하는 쿼리 예:
SELECT *
FROM [ nt:base]  AS node
WHERE ...
  AND (
    isdescendantnode(node,'/content/site-path') OR
    isdescendantnode(node,'/var/pim/green/products')
  )
OPTION (index tag datevCommon)
  • 단일 하위 트리 내에서 검색할 때 not 문제가 발생합니다.
  • 성능에 미치는 영향은 관찰되지 않지만 로그 노이즈가 문제가 됩니다.
  • 쿼리된 두 경로는 공통 상위 항목을 공유하지 않습니다.

원인

이 경고는 Oak의 초기 쿼리 계획 단계에서 생성되며, 여기에서 결합된 쿼리 모양(전체 텍스트 + OR 또는 분리된 경로)은 무한 색인 비용으로 평가되어 경고를 트리거합니다. 그런 다음 Oak은 내부적으로 쿼리를 다시 작성하고 사용자 지정 색인을 올바르게 사용하여 실행합니다. 이 경고는 오해의 소지가 있는 것으로 간주되며 실제 인덱스 사용 또는 쿼리 성능을 반영하지 않습니다.

해결 방법 resolution

다음 단계에 따라 문제를 해결하십시오.

  1. 쿼리 패턴을 검토하여 분리된 ISDESCENDANTNODE() 경로 제한에서 OR을(를) 사용하고 인덱스 태그가 있는 사용자 지정 Lucene 인덱스를 사용하는지 확인하십시오.
  2. 진행 중인 조사 및 업데이트는 업스트림 Apache Jackrabbit Oak 문제OAK-12270를 참조하십시오.
  3. 경고는 Oak의 내부 쿼리 계획의 결과이며 실제 색인화나 성능 문제를 나타내지는 않으므로 고객 측면에서는 조치가 필요하지 않습니다.
  4. 경고 제외 또는 로깅 조정과 관련된 향후 변경 사항에 대해서는 Oak Jira를 모니터링합니다.
recommendation-more-help
experience-cloud-kcs-help-kbarticles