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