검색 기능은 AEM Communities의 필수 기능입니다. 추가 AEM platform 검색 기능, AEM Communities은 UGC 검색 API UGC(사용자 생성 컨텐츠)를 검색할 목적으로 제공됩니다. UGC에는 다른 AEM 컨텐츠 및 사용자 데이터와 별도로 입력되어 저장되는 고유한 속성이 있습니다.
Communities에서 일반적으로 검색된 두 가지는 다음과 같습니다.
커뮤니티 구성원이 게시한 컨텐츠
사용자 및 사용자 그룹(사용자 데이터)
UGC를 만들거나 관리하는 사용자 지정 구성 요소를 만드는 개발자에게는 이 설명서의 섹션이 적합합니다.
사용자 지정 구성 요소의 경우 SocialResourceUtilities 메서드를 사용합니다. UGC를 만들고 검색하는 유틸리티 메서드는 필요한 를 설정합니다 그림자 노드 그리고 구성원에게 요청에 대한 올바른 권한이 있는지 확인합니다.
SRP 유틸리티를 통해 관리되지 않는 속성은 조정과 관련된 속성입니다.
자세한 내용은 SRP 및 UGC 핵심 사항 UGC 및 ACL 섀도 노드에 액세스하는 데 사용되는 유틸리티 메서드에 대한 정보를 참조하십시오.
다음 UGC 공용 스토어 은 다양한 SRP(Storage Resource Providers) 중 하나에서 제공되며 각각 다른 네이티브 쿼리 언어를 사용할 수 있습니다. 따라서 선택한 SRP에 관계없이 사용자 지정 코드에서는 UGC API 패키지 (com.adobe.cq.social.ugc.api)을 클릭하여 선택된 SRP에 적합한 쿼리 언어를 호출합니다.
대상 ASRP, UGC는 Adobe 클라우드에 저장됩니다. UGC는 CRX에 표시되지 않지만 중재 작성자 및 게시 환경 모두에서 사용할 수 있습니다. 의 사용 UGC 검색 API 는 다른 SRP에서와 동일한 방식으로 ASRP에 대해 작동합니다.
현재 ASRP 검색을 관리하기 위한 도구가 없습니다.
검색 가능한 사용자 지정 속성을 만들 때는 이름 지정 요구 사항.
대상 MSRP, UGC는 Solr를 사용하여 검색할 수 있도록 구성된 MongoDB에 저장됩니다. UGC는 CRX에 표시되지 않지만 중재 작성자 및 게시 환경 모두에서 사용할 수 있습니다.
MSRP 및 Solr 관련 정보:
사용자 지정 검색 기능은 UGC 검색 API.
검색 가능한 사용자 지정 속성을 만들 때는 이름 지정 요구 사항.
대상 JSRP, UGC가에 저장됩니다. Oak 및 는 입력된 AEM 작성자 또는 게시 인스턴스의 저장소에만 표시됩니다.
UGC는 일반적으로 게시 환경에 입력되므로 다중 게시자 프로덕션 시스템의 경우 다음을 구성해야 합니다 클러스터 게시를 채울 수 있습니다.
JSRP의 경우, 게시 환경에 입력한 UGC는 작성 환경에 표시되지 않습니다. 따라서 중재 작업은 게시 환경에서 수행됩니다.
사용자 지정 검색 기능은 UGC 검색 API.
AEM 6.2부터는 AEM Platform 검색에 대해 Oak 인덱스가 자동으로 만들어지지 않지만 AEM Communities에 대해 성능을 개선하고 UGC 검색 결과를 표시할 때 페이지 매김을 지원하도록 추가되었습니다.
사용자 지정 속성을 사용 중이고 검색이 느린 경우 사용자 지정 속성에 대해 추가 인덱스를 만들어 성능을 더 향상해야 합니다. 휴대성을 유지하려면 이름 지정 요구 사항 검색할 수 있는 사용자 지정 속성을 만들 때.
기존 인덱스를 수정하거나 사용자 지정 인덱스를 만들려면 다음을 참조하십시오 Oak 쿼리 및 색인 지정.
다음 Oak 색인 관리자 는 ACS AEM Commons에서 사용할 수 있습니다. 다음을 제공합니다.
에서 기존 Oak 인덱스를 보려면 CRXDE Lite의 위치는 다음과 같습니다.
/oak:index/socialLucene
다음은 다양한 커뮤니티 기능에 사용되는 검색 가능한 속성 중 일부입니다.
속성 | 데이터 형식 |
---|---|
isFlaged | 부울 |
isSpam | 부울 |
읽기 | 부울 |
영향력 | 부울 |
첨부 파일 | 부울 |
감정 | 긴 |
플래그 지정 | 부울 |
추가됨 | 날짜 |
modifiedDate | 날짜 |
상태 | 문자열 |
userIdentifier | 문자열 |
답글 | 긴 |
jcr:title | 문자열 |
jcr:description | 문자열 |
sling:resourceType | 문자열 |
allowThreadedReply | 부울 |
isDraft | 부울 |
publishDate | 날짜 |
publishJobId | 문자열 |
답변됨 | 부울 |
초승자 | 부울 |
태그 | 문자열 |
cq:태그 | 문자열 |
author_display_name | 문자열 |
location_t | 문자열 |
parentPath | 문자열 |
parentTitle | 문자열 |
사용자 지정 속성을 추가할 때 속성을 정렬 및 검색으로 만든 UGC 검색 API, 입니다 필수 속성 이름에 접미사를 추가하려면
접미사는 스키마를 사용하는 쿼리 언어용입니다.
솔러는 스키마를 사용하는 쿼리 언어의 예입니다.
접미어 | 데이터 형식 |
---|---|
_b | 부울 |
_dt | 달력 |
_d | 더블 |
_tl | 긴 |
_s | 문자열 |
_t | 텍스트 |
메모:
텍스트 는 토큰화된 문자열이며, 문자열 은 아닙니다. 사용 텍스트 퍼지(다음과 같음)에서 검색합니다.
여러 값을 갖는 유형의 경우 접미사에 's'를 추가합니다(예:
viewDate_dt
: 단일 날짜 속성viewDates_dts
: 날짜 속성 목록다음을 포함하는 구성 요소 댓글 시스템 종단점 외에 필터 매개 변수를 추가할 수 있습니다.
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.
필터 연산자:
EQ | 같음 |
---|---|
NE | 다음과 같음 |
LT | 보다 작음 |
LTE | 작거나 같음 |
GE | 보다 큼 |
GTE | 크거나 같음 |
LIKE | 유사 일치 |
URL은 구성 요소가 배치된 페이지가 아니라 커뮤니티 구성 요소(리소스)를 참조하는 것이 중요합니다.
/content/community-components/en/forum/jcr:content/content/forum.social.json
/content/community-components/en/forum.social.json
다음을 포함하는 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
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 도구로 전달할 수 있습니다.