區段搜尋端點
區段搜尋用於搜尋各種資料來源包含的欄位,並近乎即時地傳回這些欄位。
本指南提供的資訊可協助您更清楚瞭解區段搜尋,且包含使用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查詢語法檔案。