セグメント検索エンドポイント
セグメント検索は、様々なデータソースに含まれるフィールドを検索し、ほぼリアルタイムで返すために使用されます。
このガイドでは、セグメント検索をより深く理解するのに役立つ情報を提供し、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
次の表に、Segment Search API を使用する場合の検索クエリの仕組みを示します。
次の例は、明確にするために、HTML以外でエンコードされた形式で表示されています。 ベストプラクティスとして、HTMLで検索式をエンコードします。
"hotel airport"~5
では、ドキュメント内で互いに 5 語以内に近接する「hotel」と「airport」という単語を見つけます。/a[0-9]+b$/
/[mh]otel/
と指定します。正規表現検索は、単一の単語に対して照合されます。クエリ構文に関する詳細なドキュメントについては、Lucene クエリ構文のドキュメントをお読みください。