검색 핵심 사항

개요

검색 기능은 AEM Communities의 필수 기능입니다. 추가 AEM platform 검색 기능, AEM Communities은 UGC 검색 API UGC(사용자 생성 컨텐츠)를 검색할 목적으로 제공됩니다. UGC에는 다른 AEM 컨텐츠 및 사용자 데이터와 별도로 입력되어 저장되는 고유한 속성이 있습니다.

Communities에서 일반적으로 검색된 두 가지는 다음과 같습니다.

  • 커뮤니티 구성원이 게시한 컨텐츠

    • AEM Communities의 UGC 검색 API를 사용합니다.
  • 사용자 및 사용자 그룹(사용자 데이터)

    • AEM 플랫폼 검색 기능을 사용합니다.

UGC를 만들거나 관리하는 사용자 지정 구성 요소를 만드는 개발자에게는 이 설명서의 섹션이 적합합니다.

보안 및 섀도 노드

사용자 지정 구성 요소의 경우 SocialResourceUtilities 메서드를 사용합니다. UGC를 만들고 검색하는 유틸리티 메서드는 필요한 를 설정합니다 그림자 노드 그리고 구성원에게 요청에 대한 올바른 권한이 있는지 확인합니다.

SRP 유틸리티를 통해 관리되지 않는 속성은 조정과 관련된 속성입니다.

자세한 내용은 SRP 및 UGC 핵심 사항 UGC 및 ACL 섀도 노드에 액세스하는 데 사용되는 유틸리티 메서드에 대한 정보를 참조하십시오.

UGC 검색 API

다음 UGC 공용 스토어 은 다양한 SRP(Storage Resource Providers) 중 하나에서 제공되며 각각 다른 네이티브 쿼리 언어를 사용할 수 있습니다. 따라서 선택한 SRP에 관계없이 사용자 지정 코드에서는 UGC API 패키지 (com.adobe.cq.social.ugc.api)을 클릭하여 선택된 SRP에 적합한 쿼리 언어를 호출합니다.

ASRP 검색

대상 ASRP, UGC는 Adobe 클라우드에 저장됩니다. UGC는 CRX에 표시되지 않지만 중재 작성자 및 게시 환경 모두에서 사용할 수 있습니다. 의 사용 UGC 검색 API 는 다른 SRP에서와 동일한 방식으로 ASRP에 대해 작동합니다.

현재 ASRP 검색을 관리하기 위한 도구가 없습니다.

검색 가능한 사용자 지정 속성을 만들 때는 이름 지정 요구 사항.

MSRP 검색

대상 MSRP, UGC는 Solr를 사용하여 검색할 수 있도록 구성된 MongoDB에 저장됩니다. UGC는 CRX에 표시되지 않지만 중재 작성자 및 게시 환경 모두에서 사용할 수 있습니다.

MSRP 및 Solr 관련 정보:

  • AEM 플랫폼용 포함된 솔러는 MSRP에 사용되지 않습니다.
  • AEM 플랫폼용 원격 솔루션을 사용하는 경우 MSRP와 공유할 수 있지만 다른 컬렉션을 사용해야 합니다.
  • 솔러는 표준 검색 또는 MLS(다국어 검색)에 대해 구성할 수 있습니다.
  • 구성에 대한 자세한 내용은 솔루션 구성 MSRP용

사용자 지정 검색 기능은 UGC 검색 API.

검색 가능한 사용자 지정 속성을 만들 때는 이름 지정 요구 사항.

JSRP 검색

대상 JSRP, UGC가에 저장됩니다. Oak 및 는 입력된 AEM 작성자 또는 게시 인스턴스의 저장소에만 표시됩니다.

UGC는 일반적으로 게시 환경에 입력되므로 다중 게시자 프로덕션 시스템의 경우 다음을 구성해야 합니다 클러스터 게시를 채울 수 있습니다.

JSRP의 경우, 게시 환경에 입력한 UGC는 작성 환경에 표시되지 않습니다. 따라서 중재 작업은 게시 환경에서 수행됩니다.

사용자 지정 검색 기능은 UGC 검색 API.

Oak 색인 지정

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

SRP 도구

다음을 포함하는 Adobe Marketing Cloud GitHub 프로젝트가 있습니다.

AEM Communities SRP 도구

이 저장소에는 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 도구로 전달할 수 있습니다.

이 페이지에서는