세그먼트 검색 엔드포인트
세그먼트 검색은 다양한 데이터 소스에 걸쳐 포함된 필드를 검색하고 이를 실시간에 가깝게 반환하는 데 사용됩니다.
이 안내서에서는 세그먼트 검색을 더 잘 이해하는 데 도움이 되는 정보를 제공하며 API를 사용하여 기본 작업을 수행하기 위한 샘플 API 호출을 포함합니다.
시작하기
이 가이드에 사용된 끝점은 Adobe Experience Platform Segmentation Service API의 일부입니다. 계속하기 전에 시작 안내서에서 필수 헤더와 예제 API 호출을 읽는 방법 등 API를 성공적으로 호출하기 위해 알아야 하는 중요한 정보를 검토하십시오.
시작 섹션에 설명된 필수 헤더 외에도 세그먼트 검색 끝점에 대한 모든 요청에는 다음 추가 헤더가 필요합니다.
- x-ups-search-version: "1.0"
여러 네임스페이스 검색
이 검색 끝점을 사용하여 다양한 네임스페이스를 검색하고 검색 카운트 결과 목록을 반환할 수 있습니다. 여러 매개 변수를 사용하여 앰퍼샌드(&)로 구분할 수 있습니다.
API 형식
GET /search/namespaces?schema.name={SCHEMA}
GET /search/namespaces?schema.name={SCHEMA}&s={SEARCH_TERM}
schema.name={SCHEMA}
_xdm.context.segmentdefinition
만 지원됩니다.s={SEARCH_TERM}
schema.name
과(와) 연결된 모든 레코드가 반환됩니다. 자세한 설명은 이 문서의 부록에서 확인할 수 있습니다.요청
curl -X GET \
https://platform.adobe.io/data/core/ups/search/namespaces?schema.name=_xdm.context.segmentdefinition \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'x-ups-search-version: 1.0'
응답
성공적인 응답은 다음 정보와 함께 HTTP 상태 200을 반환합니다.
{
"namespaces": [
{
"namespace": "AAMTraits",
"displayName": "AAMTraits",
"count": 45
},
{
"namespace": "AAMSegments",
"displayName": "AAMSegment",
"count": 10
},
{
"namespace": "SegmentsAISegments",
"displayName": "SegmentSAISegment",
"count": 3
}
],
"totalCount": 3,
"status": {
"message": "Success"
}
}
개별 엔티티 검색
이 검색 끝점을 사용하여 지정된 네임스페이스 내의 모든 전체 텍스트 인덱스 개체 목록을 검색할 수 있습니다. 여러 매개 변수를 사용하여 앰퍼샌드(&)로 구분할 수 있습니다.
API 형식
GET /search/entities?schema.name={SCHEMA}&namespace={NAMESPACE}
GET /search/entities?schema.name={SCHEMA}&namespace={NAMESPACE}&s={SEARCH_TERM}
GET /search/entities?schema.name={SCHEMA}&namespace={NAMESPACE}&entityId={ENTITY_ID}
schema.name={SCHEMA}
_xdm.context.segmentdefinition
만 지원됩니다.namespace={NAMESPACE}
s={SEARCH_TERM}
schema.name
과(와) 연결된 모든 레코드가 반환됩니다. 자세한 설명은 이 문서의 부록에서 확인할 수 있습니다.entityId={ENTITY_ID}
limit={LIMIT}
page={PAGE}
요청
curl -X GET \
https://platform.adobe.io/data/core/ups/search/entities?schema.name=_xdm.context.segmentdefinition&namespace=AAMSegments \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'x-ups-search-version: 1.0'
응답
성공적인 응답은 검색 쿼리와 일치하는 결과와 함께 HTTP 상태 200을 반환합니다.
{
"entities": [
{
"id": "1012667",
"base64EncodedSourceId": "RFVGamdydHpEdy01ZTE1ZGJlZGE4YjAxMzE4YWExZWY1MzM1",
"sourceId": "DUFjgrtzDw-5e15dbeda8b01318aa1ef533",
"isFolder": true,
"parentFolderId": "974139",
"name": "aam-47995 verification (100)"
},
{
"id": "14653311",
"base64EncodedSourceId": "REVGamduLVgzdy01ZTE2ZjRhNjc1ZDZhMDE4YThhZDM3NmY1",
"sourceId": "DEFjgn-X3w-5e16f4a675d6a018a8ad376f",
"isFolder": false,
"parentFolderId": "324050",
"name": "AAM - Heavy equipment",
"description": "AAM - Acme Equipment"
}
],
"page": {
"totalCount": 2,
"totalPages": 1,
"pageOffset": 0,
"pageSize": 10
},
"status": {
"message": "Success"
}
}
검색 개체에 대한 구조적 정보 가져오기
이 검색 끝점을 사용하여 요청된 검색 개체에 대한 구조적 정보를 가져올 수 있습니다.
API 형식
GET /search/taxonomy?schema.name={SCHEMA}&namespace={NAMESPACE}&entityId={ENTITY_ID}
schema.name={SCHEMA}
_xdm.context.segmentdefinition
만 지원됩니다.namespace={NAMESPACE}
entityId={ENTITY_ID}
요청
curl -X GET \
https://platform.adobe.io/data/core/ups/search/taxonomy?schema.name=_xdm.context.segmentdefinition&namespace=AAMSegments&entityId=porsche11037 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'x-ups-search-version: 1.0'
응답
성공적인 응답은 요청된 검색 개체에 대한 자세한 구조적 정보와 함께 HTTP 상태 200을 반환합니다.
{
"taxonomy": [
{
"id": "0",
"base64EncodedSourceId": "RFVGZ01BLTVlNjgzMGZjMzk3YjQ1MThhYWExYTA4Zg2",
"name": "AAMTraits for Cars",
"parentFolderId": "root"
},
{
"id": "150561",
"base64EncodedSourceId": "RFVGamdpRk1BZy01ZTY4MzBmYzM5N2I0NTE4YWFhMWEwOGY1",
"name": "Fast Cars",
"parentFolderId": "carTraits"
},
{
"id": "porsche11037",
"base64EncodedSourceId": "REFGZ01CLTVlNjczMGZjMzk3YjQ1MThhZGIxYTA4Zg==",
"name": "Porsche",
"parentFolderId": "redCarsFolderId"
}
],
"status": {
"message": "Success"
}
}
다음 단계
이제 이 안내서를 읽고 세그먼트 검색 작동 방식을 보다 잘 이해할 수 있습니다.
부록 appendix
다음 섹션에서는 검색어의 작동 방식에 대한 추가 정보를 제공합니다. 검색 쿼리는 s={FieldName}:{SearchExpression}
방식으로 작성됩니다. 따라서 예를 들어 AAM 또는 Platform이라는 세그먼트 정의를 검색하려면 다음 검색 쿼리를 사용합니다. s=segmentName:AAM%20OR%20Platform
.
모범 사례를 보려면 위의 예제와 같이 검색 식을 HTML 인코딩해야 합니다.
필드 검색 search-fields
다음 표에는 검색 쿼리 매개 변수 내에서 검색할 수 있는 필드가 나열되어 있습니다.
검색 표현식 search-expression
다음 표에는 세그먼트 검색 API를 사용할 때 검색 쿼리가 작동하는 방식에 대한 세부 사항이 나와 있습니다.
다음 예제는 보다 명확하게 하기 위해 HTML이 아닌 인코딩 형식으로 표시됩니다. 모범 사례를 위해 HTML은 검색 표현식을 인코딩합니다.
"hotel airport"~5
구문은 문서에서 서로 5단어 이내의 "hotel" 및 "airport"라는 용어를 찾습니다./a[0-9]+b$/
/[mh]otel/
을(를) 지정하십시오. 정규 표현식 검색은 단일 단어에 대해 일치합니다.쿼리 구문에 대한 자세한 내용은 Lucene 쿼리 구문 설명서를 참조하십시오.