단순 검색 구현은 Adobe Summit 랩 AEM Search Demystified의 자료입니다. 이 페이지에는 이 실습의 자료가 포함되어 있습니다. 랩을 안내하는 둘러보려면 이 페이지의 프레젠테이션 섹션에서 Lab 통합 문서를 확인하십시오.
아래 장 링크에서는 초기 패키지 가 AEM 작성자에 설치되어 있다고 가정합니다.http://localhost:4502
랩 토론에서의 수정 및 명확히, 참석자의 후속 질문에 대한 답변.
색인 재지정을 중지하는 방법
AEM Web Console > JMX을 통해 사용할 수 있는 IndexStats MBean을 통해 색인 재지정을 중지할 수 있습니다.
abortAndPause()
을 실행하여 재색인을 중단합니다. 이렇게 하면 resume()
이 호출될 때까지 인덱스를 더 다시 인덱싱하도록 잠깁니다.resume()
을 실행하면 인덱싱 프로세스가 다시 시작됩니다.oak 색인은 여러 테넌트를 어떻게 지원할 수 있습니까?
Oak는 컨텐츠 트리를 통해 인덱스 배치를 지원하며 이러한 인덱스는 해당 하위 트리 내에서만 색인화됩니다. 예를 들어 /content/site-a/oak:index/cqPageLucene
은 /content/site-a
. 아래에만 콘텐츠를 인덱싱하도록 만들 수 있습니다.
동등한 접근 방법은 /oak:index
아래의 인덱스에서 includePaths
및 queryPaths
속성을 사용하는 것입니다. 예:
/oak:index/siteAcqPageLucene@includePaths=/content/site-a
/oak:index/siteAcqPageLucene@queryPaths=/content/site-a
이 접근 방식의 고려 사항은 다음과 같습니다.
/oak:index/cqPageLucene
)도 데이터를 색인화하므로 중복 수집 및 디스크 사용 비용이 발생합니다.사용 가능한 모든 Analytics 목록은 어디에 있습니까?
Oak는 AEM에서 사용할 lucene 제공 분석기 구성 요소 집합을 표시합니다.
동일한 쿼리에서 페이지 및 자산을 검색하는 방법
AEM 6.3의 새로운 기능은 제공된 동일한 쿼리에서 여러 노드 유형을 쿼리하는 기능입니다. 다음 QueryBuilder 쿼리 각 "sub-query"가 자체 인덱스로 확인될 수 있으므로 이 예에서는 cq:Page
하위 쿼리가 /oak:index/cqPageLucene
로 확인되고 dam:Asset
하위 쿼리가 /oak:index/damAssetLucene
로 확인됩니다.
group.p.or=true
group.1_group.type=cq:Page
# add all page restrictions to this group
group.2_group.type=dam:Asset
# add all asset restrictions to this group
다음 쿼리 및 쿼리 계획의 결과를 생성합니다.
QUERY:(//element(*, cq:Page) | //element(*, dam:Asset))
PLAN: [cq:Page] as [a] /* lucene:cqPageLucene(/oak:index/cqPageLucene) *:* */ union [dam:Asset] as [a] /* lucene:damAssetLucene(/oak:index/damAssetLucene) *:* */
QueryBuilder Debugger 및 AEM Chrome 플러그인을 통해 쿼리 및 결과를 탐색합니다.
동일한 쿼리에서 여러 경로를 검색하는 방법
AEM 6.3의 새로운 기능은 제공된 동일한 쿼리에서 여러 경로를 쿼리하는 기능입니다. 다음 QueryBuilder 쿼리 각 "하위 쿼리"가 고유한 색인으로 확인될 수 있습니다.
group.p.or=true
group.1_group.type=cq:Page
group.1_group.path=/content/docs/en/6-2
# add all page restrictions to this group
group.2_group.type=cq:Page
group.2_group.path=/content/docs/en/6-3
# add all asset restrictions to this group
다음 쿼리 및 쿼리 계획의 결과
QUERY: (/jcr:root/content/docs/en/_x0036_-2//element(*, cq:Page) | /jcr:root/content/docs/en/_x0036_-3//element(*, cq:Page))
PLAN: [cq:Page] as [a] /* traverse "/content/docs/en/6-2//*" where isdescendantnode([a], [/content/docs/en/6-2]) */ union [cq:Page] as [a] /* traverse "/content/docs/en/6-3//*" where isdescendantnode([a], [/content/docs/en/6-3]) */
QueryBuilder Debugger 및 AEM Chrome 플러그인을 통해 쿼리 및 결과를 탐색합니다.