검색 핵심 사항 search-essentials
개요 overview
검색 기능은 AEM Communities의 필수 기능입니다. 추가 AEM platform 검색 기능, AEM Communities은 UGC 검색 API UGC(사용자 생성 컨텐츠)를 검색할 목적으로 제공됩니다. UGC에는 다른 AEM 컨텐츠 및 사용자 데이터와 별도로 입력되어 저장되는 고유한 속성이 있습니다.
Communities에서 일반적으로 검색된 두 가지는 다음과 같습니다.
-
커뮤니티 구성원이 게시한 컨텐츠
- AEM Communities의 UGC 검색 API를 사용합니다
-
사용자 및 사용자 그룹(사용자 데이터)
- AEM 플랫폼 검색 기능 사용
UGC를 만들거나 관리하는 사용자 지정 구성 요소를 만드는 개발자에게는 이 설명서의 섹션이 적합합니다.
보안 및 섀도 노드 security-and-shadow-nodes
사용자 지정 구성 요소의 경우 SocialResourceUtilities 메서드를 사용합니다. UGC를 만들고 검색하는 유틸리티 메서드는 필요한 를 설정합니다 그림자 노드 그리고 구성원에게 요청에 대한 올바른 권한이 있는지 확인합니다.
SRP 유틸리티를 통해 관리되지 않는 속성은 조정과 관련된 속성입니다.
자세한 내용은 SRP 및 UGC 핵심 사항 UGC 및 ACL 섀도 노드에 액세스하는 데 사용되는 유틸리티 메서드에 대한 정보를 참조하십시오.
UGC 검색 API ugc-search-api
다음 UGC 공용 스토어 은 다양한 SRP(Storage Resource Providers) 중 하나에서 제공되며 각각 다른 네이티브 쿼리 언어를 사용할 수 있습니다. 따라서 선택한 SRP에 관계없이 사용자 지정 코드에서는 UGC API 패키지 (com.adobe.cq.social.ugc.api)을 클릭하여 선택된 SRP에 적합한 쿼리 언어를 호출합니다.
ASRP 검색 asrp-searches
대상 ASRP, UGC는 Adobe 클라우드에 저장됩니다. UGC는 CRX에 표시되지 않지만 중재 작성자 및 게시 환경 모두에서 사용할 수 있습니다. 의 사용 UGC 검색 API 는 다른 SRP에서와 동일한 방식으로 ASRP에 대해 작동합니다.
현재 ASRP 검색을 관리하기 위한 도구가 없습니다.
검색 가능한 사용자 지정 속성을 만들 때는 이름 지정 요구 사항.
MSRP 검색 msrp-searches
대상 MSRP, UGC는 Solr를 사용하여 검색할 수 있도록 구성된 MongoDB에 저장됩니다. UGC는 CRX에 표시되지 않지만 중재 작성자 및 게시 환경 모두에서 사용할 수 있습니다.
MSRP 및 Solr 관련 정보:
- AEM 플랫폼용 포함된 솔러는 MSRP에 사용되지 않습니다
- AEM 플랫폼용 원격 솔루션을 사용하는 경우 MSRP와 공유할 수 있지만 다른 컬렉션을 사용해야 합니다
- 솔러는 표준 검색 또는 MLS(다국어 검색)에 대해 구성할 수 있습니다
- 구성에 대한 자세한 내용은 솔루션 구성 MSRP용
사용자 지정 검색 기능은 UGC 검색 API.
검색 가능한 사용자 지정 속성을 만들 때는 이름 지정 요구 사항.
JSRP 검색 jsrp-searches
대상 JSRP, UGC가에 저장됩니다. Oak 및 는 입력된 AEM 작성자 또는 게시 인스턴스의 저장소에만 표시됩니다.
UGC는 일반적으로 게시 환경에 입력되므로 다중 게시자 프로덕션 시스템의 경우 다음을 구성해야 합니다 클러스터 게시를 채울 수 있습니다.
JSRP의 경우, 게시 환경에 입력한 UGC는 작성 환경에 표시되지 않습니다. 따라서 중재 작업은 게시 환경에서 수행됩니다.
사용자 지정 검색 기능은 UGC 검색 API.
Oak 색인 지정 oak-indexing
AEM 6.2부터는 AEM 플랫폼 검색에 대해 Oak 인덱스가 자동으로 만들어지지 않지만 6.2부터는 성능을 개선하고 UGC 검색 결과를 표시할 때 페이지 매김을 지원하기 위해 AEM Communities에 추가되었습니다.
사용자 지정 속성을 사용 중이고 검색이 느린 경우 사용자 지정 속성에 대해 추가 색인을 만들어 성능을 더 향상해야 합니다. 휴대성을 유지하려면 이름 지정 요구 사항 검색할 수 있는 사용자 지정 속성을 만들 때.
기존 인덱스를 수정하거나 사용자 지정 인덱스를 만들려면 다음을 참조하십시오 Oak 쿼리 및 색인 지정.
다음 Oak 색인 관리자 는 ACS AEM Commons에서 사용할 수 있습니다. 다음을 제공합니다.
- 기존 색인의 보기
- 색인 재지정을 시작하는 기능
에서 기존 Oak 색인을 보려면 CRXDE Lite의 위치는 다음과 같습니다.
/oak:index/socialLucene
인덱싱된 검색 속성 indexed-search-properties
기본 검색 속성 default-search-properties
다음은 다양한 커뮤니티 기능에 사용되는 검색 가능한 속성 중 일부입니다.
사용자 지정 속성 이름 지정 naming-of-custom-properties
사용자 지정 속성을 추가할 때 속성을 정렬 및 검색으로 만든 UGC 검색 API는 속성 이름에 접미사를 추가하려면 *필요합니다.
접미사는 스키마를 사용하는 쿼리 언어용입니다.
- 속성을 검색할 수 있도록 식별합니다
- 데이터 유형을 식별합니다
솔러는 스키마를 사용하는 쿼리 언어의 예입니다.
메모:
-
텍스트 는 토큰화된 문자열이며, 문자열 은 아닙니다. 사용 텍스트 퍼지(다음과 같음)에서 검색합니다.
-
여러 값을 갖는 유형의 경우 접미사에 's'를 추가합니다(예:
viewDate_dt
: 단일 날짜 속성viewDates_dts
: 날짜 속성 목록
필터 filters
다음을 포함하는 구성 요소 댓글 시스템 종단점 외에 필터 매개 변수를 추가할 수 있습니다.
AND 및 OR 로직의 필터 구문은 다음과 같이 표시됩니다(URL로 인코딩되기 전에 표시됨).
-
OR를 지정하려면 쉼표로 구분된 값이 있는 필터 매개 변수 하나를 사용합니다.
filter=name eq 'Jennifer',name eq 'Jen'
-
AND를 지정하고 여러 필터 매개 변수를 사용하려면
filter = name eq 'Jackson'&filter=message eq 'testing'
의 기본 구현 검색 구성 요소 에서는 이 구문을 사용하여 페이지의 커뮤니티 구성 요소 안내서. 실험하려면 http://localhost:4503/content/community-components/en/search.html.
필터 연산자:
URL은 구성 요소가 배치된 페이지가 아니라 커뮤니티 구성 요소(리소스)를 참조하는 것이 중요합니다.
- 올바른: 포럼 구성 요소
/content/community-components/en/forum/jcr:content/content/forum.social.json
- 잘못된: 포럼 페이지
/content/community-components/en/forum.social.json
SRP 도구 srp-tools
다음을 포함하는 Adobe Marketing Cloud GitHub 프로젝트가 있습니다.
이 저장소에는 SRP의 데이터를 관리하기 위한 도구가 포함되어 있습니다.
현재 SRP에서 모든 UGC를 삭제하는 기능을 제공하는 서블릿이 하나 있습니다.
예를 들어 ASRP에서 모든 UGC를 삭제하려면 다음을 수행합니다.
curl -X POST http://localhost:4502/services/social/srp/cleanup?path=/content/usergenerated/asi/cloud -uadmin:admin
문제 해결 troubleshooting
솔루션 쿼리 solr-query
Solr 쿼리 문제를 해결하려면 DEBUG 로깅을 사용하십시오
com.adobe.cq.social.srp.impl.SocialSolrConnector
.
실제 Solr 쿼리는 디버그 로그에 인코딩된 URL로 표시됩니다.
솔러에 대한 쿼리: sort=timestamp+desc&bl=en&pl=en&start=0&rows=10 &q=%2Btitle_t:(hello)+%2Bprovider_id:\/content/usergenerated/asi/mongo/content/+%2Bresource_type_s:&df=provider_id&trf=verbatim&fq={!cost%3D100}report_suite:mongo
의 값 q
매개 변수는 쿼리입니다. URL 인코딩이 디코딩되면 추가 디버깅을 위해 쿼리를 Solr Admin Query 도구로 전달할 수 있습니다.
관련 리소스 related-resources
- 커뮤니티 컨텐츠 저장소 - UGC 공용 저장소에 사용할 수 있는 SRP 선택에 대해 설명합니다.
- 저장소 리소스 공급자 개요 - 소개 및 저장소 사용 개요
- SRP를 사용하여 UGC 액세스 - 코딩 지침
- SocialUtils 리팩터링 - SocialUtils를 대체하는 SRP용 유틸리티 메서드
- 검색 및 검색 결과 구성 요소 - 템플릿에 UGC 검색 기능 추가