Endpoint di ricerca del segmento

La ricerca dei segmenti viene utilizzata per cercare i campi contenuti in varie origini dati e restituirli in tempo quasi reale.

Questa guida fornisce informazioni utili per comprendere meglio la ricerca dei segmenti e include chiamate API di esempio per l'esecuzione di azioni di base tramite l'API.

Introduzione

Gli endpoint utilizzati in questa guida fanno parte dell'API Adobe Experience Platform Segmentation Service. Prima di continuare, controlla la guida introduttiva per informazioni importanti che devi conoscere per effettuare correttamente le chiamate all'API, comprese le intestazioni richieste e come leggere le chiamate API di esempio.

Oltre alle intestazioni richieste indicate nella sezione introduttiva, tutte le richieste all’endpoint di ricerca dei segmenti richiedono l’intestazione aggiuntiva seguente:

  • x-ups-search-version: "1.0"

Ricerca tra più spazi dei nomi

Questo endpoint di ricerca può essere utilizzato per eseguire ricerche in vari spazi dei nomi, restituendo un elenco dei risultati del conteggio di ricerca. È possibile utilizzare più parametri, separati da e commerciale (&).

Formato API

GET /search/namespaces?schema.name={SCHEMA}
GET /search/namespaces?schema.name={SCHEMA}&s={SEARCH_TERM}
Parametri Descrizione
schema.name={SCHEMA} (Obbligatorio) Dove {SCHEMA} rappresenta il valore della classe dello schema associato agli oggetti di ricerca. Attualmente, è supportato solo _xdm.context.segmentdefinition.
s={SEARCH_TERM} (Facoltativo) Dove {SEARCH_TERM} rappresenta una query conforme all'implementazione Microsoft della sintassi di ricerca di Lucene. Se non viene specificato alcun termine di ricerca, verranno restituiti tutti i record associati a schema.name. Una spiegazione più dettagliata è reperibile nell' appendice di questo documento.

Richiesta

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: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'x-ups-search-version: 1.0' 

Risposta

Una risposta corretta restituisce lo stato HTTP 200 con le seguenti informazioni.

{
  "namespaces": [
    {
      "namespace": "AAMTraits",
      "displayName": "AAMTraits",
      "count": 45
    },
    {
      "namespace": "AAMSegments",
      "displayName": "AAMSegment",
      "count": 10
    },
    {
      "namespace": "SegmentsAISegments",
      "displayName": "SegmentSAISegment",
      "count": 3
    }
  ],
  "totalCount": 3,
  "status": {
    "message": "Success"
  }
}

Ricerca di singole entità

Questo endpoint di ricerca può essere utilizzato per recuperare un elenco di tutti gli oggetti con indicizzazione full text all'interno dello spazio nomi specificato. È possibile utilizzare più parametri, separati da e commerciale (&).

Formato 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}
Parametri Descrizione
schema.name={SCHEMA} (Obbligatorio) Dove {SCHEMA} contiene il valore della classe dello schema associato agli oggetti di ricerca. Attualmente, è supportato solo _xdm.context.segmentdefinition.
namespace={NAMESPACE} (Obbligatorio) Dove {NAMESPACE} contiene lo spazio dei nomi in cui eseguire la ricerca.
s={SEARCH_TERM} (Facoltativo) Dove {SEARCH_TERM} contiene una query conforme all'implementazione Microsoft della sintassi di ricerca di Lucene. Se non viene specificato alcun termine di ricerca, verranno restituiti tutti i record associati a schema.name. Una spiegazione più dettagliata è reperibile nell' appendice di questo documento.
entityId={ENTITY_ID} (Facoltativo) Limita la ricerca all'interno della cartella designata, specificata con {ENTITY_ID}.
limit={LIMIT} (Facoltativo) Dove {LIMIT} rappresenta il numero di risultati di ricerca da restituire. Il valore predefinito è 50.
page={PAGE} (Facoltativo) Dove {PAGE} rappresenta il numero di pagina utilizzato per impaginare i risultati della query ricercata. Il numero di pagina inizia da 0.

Richiesta

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: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'x-ups-search-version: 1.0' 

Risposta

Una risposta corretta restituisce lo stato HTTP 200 con risultati corrispondenti alla query di ricerca.

{
  "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"
  }
}

Ottenere informazioni strutturali su un oggetto di ricerca

Questo endpoint di ricerca può essere utilizzato per ottenere le informazioni strutturali sull'oggetto di ricerca richiesto.

Formato API

GET /search/taxonomy?schema.name={SCHEMA}&namespace={NAMESPACE}&entityId={ENTITY_ID}
Parametri Descrizione
schema.name={SCHEMA} (Obbligatorio) Dove {SCHEMA} contiene il valore della classe dello schema associato agli oggetti di ricerca. Attualmente, è supportato solo _xdm.context.segmentdefinition.
namespace={NAMESPACE} (Obbligatorio) Dove {NAMESPACE} contiene lo spazio dei nomi in cui eseguire la ricerca.
entityId={ENTITY_ID} (Obbligatorio) L'ID dell'oggetto di ricerca di cui si desidera ottenere le informazioni strutturali, specificato con {ENTITY_ID}.

Richiesta

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: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'x-ups-search-version: 1.0' 

Risposta

Una risposta corretta restituisce lo stato HTTP 200 con informazioni strutturali dettagliate sull'oggetto di ricerca richiesto.

{
    "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"
    }
}

Passaggi successivi

Dopo aver letto questa guida è ora possibile comprendere meglio il funzionamento della ricerca segmenti.

Appendice

Le sezioni seguenti forniscono informazioni aggiuntive sul funzionamento dei termini di ricerca. Le query di ricerca vengono scritte nel modo seguente: s={FieldName}:{SearchExpression}. Per cercare, ad esempio, un segmento denominato AAM o Platform, si utilizza la seguente query di ricerca: s=segmentName:AAM%20OR%20Platform.

!![NOTE] Per le procedure ottimali, l'espressione di ricerca deve essere codificata in HTML, come nell'esempio riportato sopra.

Campi di ricerca

Nella tabella seguente sono elencati i campi che è possibile cercare all’interno del parametro della query di ricerca.

Nome campo Descrizione
folderId Cartella o cartelle con l’ID cartella della ricerca specificata.
folderLocation Il percorso o i percorsi in cui si trova la cartella della ricerca specificata.
parentFolderId Segmento o cartella con l’ID cartella principale della ricerca specificata.
segmentId Il segmento corrisponde all’ID del segmento della ricerca specificata.
segmentName Il segmento corrisponde al nome del segmento della ricerca specificata.
segmentDescription Il segmento corrisponde alla descrizione del segmento della ricerca specificata.

Espressione di ricerca

Nella tabella seguente sono elencate le specifiche del funzionamento delle query di ricerca quando si utilizza l'API di ricerca segmenti.

!![NOTE] Gli esempi seguenti sono mostrati in un formato non codificato HTML per una maggiore chiarezza. Per le procedure ottimali, l'HTML codifica l'espressione di ricerca.

Esempio di espressione di ricerca Descrizione
foo Cerca qualsiasi parola. Questo restituisce dei risultati se la parola "foo" è presente in uno qualsiasi dei campi ricercabili.
foo AND bar Una ricerca booleana. Questo restituirà risultati se sia le parole "foo" che "bar" si trovano in uno qualsiasi dei campi ricercabili.
barra dei menu o dei menu Una ricerca booleana. Questo restituirà dei risultati se o la parola "foo" o la parola "bar" si trovano in uno qualsiasi dei campi ricercabili.
barra NON Una ricerca booleana. Questo restituisce dei risultati se la parola "foo" è trovata ma la parola "bar" non è trovata in nessuno dei campi ricercabili.
name: foo AND bar Una ricerca booleana. Questo restituirà risultati se sia le parole "foo" che "bar" sono presenti nel campo "name".
run* Ricerca con caratteri jolly. L'utilizzo di un asterisco (*) corrisponde a 0 o più caratteri, il che significa che restituirà risultati se il contenuto di uno qualsiasi dei campi ricercabili contiene una parola che inizia con "run". Ad esempio, questo restituisce i risultati se vengono visualizzate le parole "run", "run", "runner" o "runt".
cam? Ricerca con caratteri jolly. Utilizzo di un punto interrogativo (?) rileva solo un carattere, il che significa che restituirà risultati se il contenuto di uno qualsiasi dei campi ricercabili inizia con "cam" e una lettera aggiuntiva. Ad esempio, questo restituisce i risultati se vengono visualizzate le parole "campeggio" o "cams", ma non restituisce i risultati se vengono visualizzate le parole "camera" o "fuoco".
"ombrello blu" Una ricerca di frasi. Questo restituisce dei risultati se il contenuto di uno qualsiasi dei campi ricercabili contiene la frase completa "ombrello blu".
blue~ Una ricerca sfocata. Facoltativamente, potete inserire un numero compreso tra 0 e 2 dopo la tilde (~) per specificare la distanza di modifica. Ad esempio, "blue~1" restituisce "blue", "blues" o "colla". La ricerca Fuzzy può solo essere applicata ai termini, non alle frasi. Tuttavia, è possibile aggiungere piastrelle alla fine di ogni parola di una frase. Così, ad esempio, "campeggio~ in~ la~ estate~" avrebbe giocato con "campeggio in estate".
"hotel Airport"~5 Una ricerca di prossimità. Questo tipo di ricerca viene utilizzato per trovare i termini che si trovano l’uno accanto all’altro in un documento. Ad esempio, la frase "hotel airport"~5 troverà i termini “hotel” e “aeroporto” entro 5 parole l’una dall’altra in un documento.
/a[0-9]+b$/ Una ricerca con espressione regolare. Questo tipo di ricerca trova una corrispondenza basata sul contenuto tra le barre "/", come documentato nella classe RegExp. Ad esempio, per trovare documenti contenenti "motel" o "hotel", specificare /[mh]otel/. Le ricerche di espressioni regolari vengono confrontate con singole parole.

Per una documentazione più dettagliata sulla sintassi della query, consultare la documentazione relativa alla sintassi della query Lucene.

In questa pagina