단순 검색 구현 안내서 simple-search-implementation-guide
단순 검색 구현은 Adobe Summit 랩 AEM 검색 Demystified. 이 페이지에는 이 실습의 자료가 포함되어 있습니다. 실습 가이드 투어는 이 페이지의 프레젠테이션 섹션에서 실습 통합 문서를 참조하십시오.
프레젠테이션 자료 bookmarks
책갈피 bookmarks-1
도구 tools
- 색인 관리자
- 쿼리 설명
- CRXDE Lite > /oak:index/cqPageLucene
- CRX 패키지 관리자
- QueryBuilder 디버거
- Oak 색인 정의 생성기
챕터 chapters
아래 챕터 링크에서는 초기 패키지 다음 위치에서 AEM 작성자에 설치됩니다.http://localhost:4502
패키지 packages
초기 패키지 initial-packages
챕터 패키지 chapter-packages
참조된 자료 reference-materials
수정 및 추가 작업 corrections-and-follow-up
랩 토론의 수정 및 설명, 참석자의 후속 질문에 대한 답변.
-
색인 재지정을 중지하는 방법
리인덱싱은 를 통해 사용 가능한 IndexStats MBean을 통해 중단할 수 있습니다. AEM 웹 콘솔 > JMX
-
- 실행
abortAndPause()
색인 재지정을 중단합니다. 이렇게 하면 색인이 다시 색인화되기 전까지 잠깁니다.resume()
이 호출됩니다. - 실행 중
resume()
색인 지정 프로세스를 다시 시작합니다.
- 실행
-
설명서: https://jackrabbit.apache.org/oak/docs/query/indexing.html#async-index-mbean
-
-
Oak 색인이 여러 테넌트를 지원하는 방법은 무엇입니까?
Oak는 콘텐츠 트리를 통해 색인 배치를 지원하며 이러한 색인은 해당 하위 트리 내에서만 색인화됩니다. 예
/content/site-a/oak:index/cqPageLucene
을(를) 만들어 다음에만 콘텐츠를 색인화할 수 있습니다./content/site-a
.이와 동등한 접근 방식은
includePaths
및queryPaths
아래의 인덱스에 대한 속성/oak:index
. 예:/oak:index/siteAcqPageLucene@includePaths=/content/site-a
/oak:index/siteAcqPageLucene@queryPaths=/content/site-a
이 접근 방식의 고려 사항은 다음과 같습니다.
- 쿼리는 인덱스의 쿼리 경로 범위와 동일한 경로 제한을 지정하거나 해당 인덱스의 하위 항목이어야 합니다.
- 범위가 넓은 색인(예:
/oak:index/cqPageLucene
)는 또한 데이터를 인덱싱하므로 중복 수집 및 디스크 사용 비용이 발생합니다. - 중복 구성 관리(예: 동일한 쿼리 세트를 충족해야 하는 경우 여러 테넌트 인덱스에 동일한 indexRules 추가)
- 이 방법은 AEM Author에서와 같이 사용자 지정 사이트 검색을 위해 AEM Publish 계층에서 가장 잘 제공되며, 일반적으로 쿼리는 서로 다른 테넌트에 대한 콘텐츠 트리 높은 곳에서 실행됩니다(예: OmniSearch를 통해). 서로 다른 색인 정의는 경로 제한만 기준으로 다른 동작을 초래할 수 있습니다.
-
사용 가능한 모든 분석기 목록은 어디에 있습니까?
Oak는 AEM에서 사용하기 위해 lucene 제공 분석기 구성 요소 집합을 노출합니다.
-
동일한 쿼리에서 페이지 및 에셋을 검색하는 방법
AEM 6.3의 새로운 기능은 제공된 동일한 쿼리에서 여러 노드 유형을 쿼리하는 기능입니다. 다음 QueryBuilder 쿼리입니다. 각 "하위 쿼리"는 자체 인덱스로 확인할 수 있으므로 이 예제에서는
cq:Page
하위 쿼리가 다음으로 확인됨/oak:index/cqPageLucene
및dam:Asset
하위 쿼리가 다음으로 확인됨/oak:index/damAssetLucene
.code language-plain 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
다음 쿼리 및 쿼리 계획을 생성합니다.
code language-plain 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 디버거 및 AEM Chrome 플러그인.
-
동일한 쿼리에서 여러 경로를 검색하는 방법
AEM 6.3의 새로운 기능은 제공된 동일한 쿼리에서 여러 경로를 쿼리하는 기능입니다. 다음 QueryBuilder 쿼리입니다. 각 "하위 쿼리"는 자체 색인으로 확인될 수 있습니다.
code language-plain 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
결과: 다음 쿼리 및 쿼리 계획
code language-plain 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 디버거 및 AEM Chrome 플러그인.