Configura i controlli di pubblicazione

I controlli di pubblicazione (chiamati anche controlli) modificano il comportamento predefinito di come viene pubblicata una richiesta quando vengono restituiti i risultati. I controlli di pubblicazione agiscono a livello di datastore.

Ad esempio, i controlli possono aumentare e nascondere i risultati, filtrare le voci dai risultati restituiti, associare stringhe tra loro come sinonimi o reindirizzare i risultati a URI specificati.

Informazioni sui controlli di pubblicazione

Per modificare i risultati di una richiesta, crea prima un controllo della pubblicazione. Quindi, collega questo controllo alla configurazione di pubblicazione di un'app. Una configurazione di pubblicazione configura i metadati utilizzati per generare risultati in tempo reale, come risultati di ricerca o risposte. Un controllo di pubblicazione influisce solo sulle richieste gestite dall'app se il controllo è collegato alla configurazione di pubblicazione dell'app.

Alcuni controlli, come i controlli di incremento, hanno dipendenze dagli archivi dati. Se un datastore viene rimosso da un'app, anche tutti i controlli che dipendono dal datastore vengono rimossi dall'app e diventano inattivi, ma non vengono eliminati.

Tipi di controlli di pubblicazione

Sono disponibili i seguenti tipi di controlli di pubblicazione:

Controllo Descrizione Disponibile per
Controllo del boost Modifica l'ordine dei risultati restituiti Cerca app con datastore che supportano uno schema, ad esempio datastore che contengono dati strutturati o non strutturati con metadati
Controllo filtro Rimuove le voci dai risultati restituiti Cerca app con datastore che supportano uno schema, ad esempio datastore che contengono dati strutturati o non strutturati con metadati
Controllo sinonimi Associa le query tra loro App di ricerca con datastore strutturati o non strutturati
Controllo del reindirizzamento Reindirizza a un URI specificato Tutte le app di ricerca
Controllo della promozione Promuove un link specificato per una query App di ricerca con datastore strutturati o non strutturati

Informazioni sulle condizioni

Quando crei un controllo, puoi definire facoltativamente una condizione che determina quando viene applicato il controllo. Le condizioni vengono definite utilizzando i campi condizione. Sono disponibili i seguenti campi di condizione:

  • queryTerms. Un controllo facoltativo che viene applicato quando vengono cercate query specifiche. Quando viene utilizzata la condizione queryTerms, il controllo viene applicato quando il valore di queryTerms corrisponde a un termine in SearchRequest.query. I termini di ricerca possono essere utilizzati solo quando Control.searchUseCase è impostato su SOLUTION_TYPE_SEARCH. È possibile specificare fino a 10 queryTerms diversi in un singolo Control.condition. Se non vengono specificati termini di query, il campo queryTerms viene ignorato.

    Per creare correttamente un controllo di promozione, devi specificare il campo queryTerms con fullMatch impostato su true o false.

  • activeTimeRange. Un controllo facoltativo che viene applicato quando una richiesta si verifica in un intervallo di tempo specificato. Verifica che l'ora di ricezione di una richiesta sia compresa tra le activeTimeRange.startTime e le activeTimeRange.endTime. È possibile specificare fino a 10 intervalli activeTimeRange in un singolo Control.condition. Se il campoactiveTimeRange non è specificato, il campo viene ignorato.

Se per un controllo vengono specificate più condizioni, il controllo viene applicato alla richiesta di ricerca quando entrambi i tipi di condizioni sono soddisfatti. Se vengono specificati più valori per la stessa condizione, solo uno dei valori deve corrispondere affinché la condizione sia soddisfatta.

Ad esempio, considera la seguente condizione con due termini di query specificati:

"queryTerms": [
  {
    "value": "gShoe",
    "fullMatch": true
  },
  {
    "value": "gBoot",
    "fullMatch": true
  }
]

La condizione verrà soddisfatta per una richiesta con SearchRequest.query="gShoe" o una richiesta con SearchRequest.query="gBoot", ma non verrà soddisfatta con SearchRequest.query="gSandal" o qualsiasi altra stringa.

Se non vengono specificate condizioni, il controllo viene sempre applicato.

Per ulteriori informazioni, consulta il campo Condition nel riferimento API.

Creare e allegare controlli di pubblicazione con boost

Un controllo di pubblicazione con boost è definito come un controllo con un boostAction.

Per creare un controllo di pubblicazione del boost, segui queste istruzioni.

Per i dettagli sui campi, consulta il riferimento API engines.controls e il riferimento API engines.controls.create.

  1. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

    1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera il relativo ID dalla colonna ID.

  2. Esegui i seguenti comandi curl per creare i controlli.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": [
      "USE_CASE"
    ],
    "conditions": {
     "queryTerms": [
       {
         "value": "VALUE",
         "fullMatch": FULL_MATCH
       }
     ],
     "activeTimeRange": [
       {
         "startTime": "START_TIMESTAMP",
         "endTime": "END_TIMESTAMP"
       }
     ]
    },
    "boostAction": {
      "boost": BOOST_VALUE,
      "filter": "FILTER",
      "dataStore": "DATA_STORE_RESOURCE_PATH"
     }
    }'

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.
    • APP_ID: l'ID dell'app.
    • CONTROL_ID: un identificatore univoco per il controllo. L'ID può contenere da 1 a 63 caratteri che possono essere lettere, cifre, trattini e trattini bassi.
    • DISPLAY_NAME: il nome leggibile del controllo. Google consiglia di scegliere un nome che indichi quando o perché utilizzare il controllo. Deve essere una stringa codificata in UTF-8 con una lunghezza compresa tra 1 e 128 caratteri.
    • USE_CASE: deve essere SEARCH_USE_CASE_SEARCH o SEARCH_USE_CASE_BROWSE. Se viene specificato SEARCH_USE_CASE_BROWSE, non è possibile utilizzare Condition.queryTerms nella condizione.
    • CONDITION: un campo facoltativo che definisce quando deve essere applicato il controllo. Contiene i seguenti campi:
      • VALUE: il valore specifico della query da confrontare. È una stringa UTF-8 minuscola di lunghezza [1, 5000]. Se FULL_MATCH_1 è true, questo campo può contenere al massimo tre termini separati da spazi.
      • FULL_MATCH: un valore booleano che indica se la query di ricerca deve corrispondere esattamente al termine della query. Se impostato su true, richiede che SearchRequest.query corrisponda esattamente a queryTerm.value. Se impostato su false, richiede che SearchRequest.query contenga queryTerm.value come sottostringa.
      • START_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare l'inizio di un intervallo di tempo.
      • END_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare la fine di un intervallo di tempo.
    • BOOST_VALUE: un numero in virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono declassati (vengono visualizzati più in basso nei risultati). Quando il valore è positivo, i risultati vengono promossi (vengono visualizzati più in alto nei risultati). Per ulteriori informazioni, vedi boostAction.
    • FILTER: una stringa che specifica i requisiti che devono essere soddisfatti dal documento. Se il documento soddisfa tutti i requisiti, viene applicato il boost. In caso contrario, non viene apportata alcuna modifica. Se questo campo è vuoto, il boost viene applicato a tutti i documenti nel datastore. Per la sintassi del filtro, consulta Sintassi delle espressioni di filtro. Nota: il campo del documento title non può essere filtrato.
    • DATA_STORE_RESOURCE_PATH: il percorso completo della risorsa del datastore i cui documenti devono essere potenziati da questo controllo. Il formato del percorso completo della risorsa è projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID. Questo datastore deve essere collegato al motore specificato nella richiesta.
  3. Collega il controllo alla configurazione di gestione dell'app utilizzando il metodo engines.servingConfigs.patch.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=boost_control_ids" \
    -d '{
     "boostControlIds": ["BOOST_ID_1", "BOOST_ID_2"]
    }'

    Sostituisci BOOST_ID_N con gli ID controllo che hai creato nel passaggio precedente.

Creare e allegare controlli di pubblicazione dei filtri

Un controllo di pubblicazione dei filtri è definito come un controllo con un filterAction.

Utilizza le seguenti istruzioni per creare un controllo di pubblicazione dei filtri.

Per i dettagli sui campi, consulta il riferimento API engines.controls e il riferimento API engines.controls.create.

  1. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

    1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera il relativo ID dalla colonna ID.

  2. Esegui i seguenti comandi curl per creare i controlli.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": ["USE_CASE"],
    "conditions": {
      "queryTerms": [
        {
          "value": "VALUE",
          "fullMatch": FULL_MATCH
        }
      ],
      "activeTimeRange": [
        {
          "startTime": "START_TIMESTAMP",
          "endTime": "END_TIMESTAMP"
        }
      ]
    },
    "filterAction": {
      "filter": "FILTER"
     }
    }'

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.
    • APP_ID: l'ID dell'app.
    • CONTROL_ID: un identificatore univoco per il controllo. L'ID può contenere da 1 a 63 caratteri che possono essere lettere, cifre, trattini e trattini bassi.
    • DISPLAY_NAME: il nome leggibile del controllo. Google consiglia di scegliere un nome che indichi quando o perché utilizzare il controllo. Deve essere una stringa codificata in UTF-8 con una lunghezza compresa tra 1 e 128 caratteri.
    • USE_CASE: deve essere SEARCH_USE_CASE_SEARCH o SEARCH_USE_CASE_BROWSE. Se viene specificato SEARCH_USE_CASE_BROWSE, non è possibile utilizzare Condition.queryTerms nella condizione.
    • CONDITION: un campo facoltativo che definisce quando deve essere applicato il controllo. Contiene i seguenti campi:
      • VALUE: il valore specifico della query da confrontare. È una stringa UTF-8 minuscola di lunghezza [1, 5000]. Se FULL_MATCH_1 è true, questo campo può contenere al massimo tre termini separati da spazi.
      • FULL_MATCH: un valore booleano che indica se la query di ricerca deve corrispondere esattamente al termine della query. Se impostato su true, richiede che SearchRequest.query corrisponda esattamente a queryTerm.value. Se impostato su false, richiede che SearchRequest.query contenga queryTerm.value come sottostringa.
      • START_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare l'inizio di un intervallo di tempo.
      • END_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare la fine di un intervallo di tempo.
    • FILTER: una stringa che specifica i requisiti che devono essere soddisfatti dal documento. Se il documento soddisfa tutti i requisiti, viene restituito nei risultati. In caso contrario, il documento non viene visualizzato nei risultati. Per la sintassi di filtro, consulta Sintassi delle espressioni di filtro. Per ulteriori informazioni, vedi filterAction. Nota: il campo del documento title non può essere filtrato.
  3. Collega il controllo alla configurazione di gestione dell'app utilizzando il metodo engines.servingConfigs.patch.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=filter_control_ids" \
    -d '{
      "filterControlIds": ["FILTER_ID_1", "FILTER_ID_2"]
    }'

    Sostituisci FILTER_ID_N con gli ID controllo che hai creato nel passaggio precedente.

Creare e collegare controlli di pubblicazione dei sinonimi

Un controllo di pubblicazione dei sinonimi è definito come un controllo con un synonymsAction.

Per creare un controllo di pubblicazione dei sinonimi, segui queste istruzioni.

Per i dettagli sui campi, consulta il riferimento API engines.controls e il riferimento API engines.controls.create.

  1. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

    1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera il relativo ID dalla colonna ID.

  2. Esegui i seguenti comandi curl per creare i controlli.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": ["USE_CASE"],
    "conditions": {
      "queryTerms": [
        {
          "value": "VALUE",
          "fullMatch": FULL_MATCH
        }
      ],
      "activeTimeRange": [
        {
          "startTime": "START_TIMESTAMP",
          "endTime": "END_TIMESTAMP"
        }
      ]
    },
    "synonymsAction": {
      "synonyms": ["SYNONYMS_1","SYNONYMS_2"]
     }
    }'

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.
    • APP_ID: l'ID dell'app.
    • CONTROL_ID: un identificatore univoco per il controllo. L'ID può contenere da 1 a 63 caratteri che possono essere lettere, cifre, trattini e trattini bassi.
    • DISPLAY_NAME: il nome leggibile del controllo. Google consiglia di scegliere un nome che indichi quando o perché utilizzare il controllo. Deve essere una stringa codificata in UTF-8 con una lunghezza compresa tra 1 e 128 caratteri.
    • USE_CASE: deve essere SEARCH_USE_CASE_SEARCH o SEARCH_USE_CASE_BROWSE. Se viene specificato SEARCH_USE_CASE_BROWSE, non è possibile utilizzare Condition.queryTerms nella condizione.
    • CONDITION: un campo facoltativo che definisce quando deve essere applicato il controllo. Contiene i seguenti campi:
      • VALUE: il valore specifico della query da confrontare. È una stringa UTF-8 minuscola di lunghezza [1, 5000]. Se FULL_MATCH_1 è true, questo campo può contenere al massimo tre termini separati da spazi.
      • FULL_MATCH: un valore booleano che indica se la query di ricerca deve corrispondere esattamente al termine della query. Se impostato su true, richiede che SearchRequest.query corrisponda esattamente a queryTerm.value. Se impostato su false, richiede che SearchRequest.query contenga queryTerm.value come sottostringa.
      • START_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare l'inizio di un intervallo di tempo.
      • END_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare la fine di un intervallo di tempo.
    • SYNONYMS_N: un elenco di stringhe associate tra loro, il che aumenta la probabilità che ciascuna mostri risultati simili. Anche se è più probabile che tu ottenga risultati simili, quando cerchi ciascuna delle voci di sinonimi, potresti non ricevere tutti i risultati pertinenti per tutti i sinonimi associati. Devi specificare almeno due sinonimi e puoi specificarne fino a 100. Ogni sinonimo deve essere codificato in UTF-8 e in minuscolo. Non sono consentite stringhe duplicate. Ad esempio, puoi aggiungere "pixel", "smartphone Android" e "smartphone Google" come sinonimi. Per ulteriori informazioni, vedi synonymsAction.
  3. Collega il controllo alla configurazione di gestione dell'app utilizzando il metodo engines.servingConfigs.patch.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=synonyms_control_ids" \
    -d '{
      "synonymsControlIds": ["SYNONYMS_ID_1", "SYNONYMS_ID_2"]
    }'

    Sostituisci SYNONYMS_ID_N con gli ID controllo che hai creato nel passaggio precedente.

Creare e collegare i controlli di gestione dei reindirizzamenti

Un controllo di pubblicazione del reindirizzamento consente di reindirizzare gli utenti a un URI fornito. I controlli di reindirizzamento sono definiti come un controllo con un redirectAction.

Per creare un controllo di pubblicazione del reindirizzamento:

Per i dettagli sui campi, consulta il riferimento API engines.controls e il riferimento API engines.controls.create.

  1. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

    1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera il relativo ID dalla colonna ID.

  2. Esegui i seguenti comandi curl per creare i controlli.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": ["USE_CASE"],
    "conditions": {
      "queryTerms": [
        {
          "value": "VALUE",
          "fullMatch": FULL_MATCH
        }
      ],
      "activeTimeRange": [
        {
          "startTime": "START_TIMESTAMP",
          "endTime": "END_TIMESTAMP"
        }
      ]
    },
    "redirectAction": {
      "redirectURI": "REDIRECT_URI"
     }
    }'

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.
    • APP_ID: l'ID dell'app.
    • CONTROL_ID: un identificatore univoco per il controllo. L'ID può contenere da 1 a 63 caratteri che possono essere lettere, cifre, trattini e trattini bassi.
    • DISPLAY_NAME: il nome leggibile del controllo. Google consiglia di scegliere un nome che indichi quando o perché utilizzare il controllo. Deve essere una stringa codificata in UTF-8 con una lunghezza compresa tra 1 e 128 caratteri.
    • USE_CASE: deve essere SEARCH_USE_CASE_SEARCH o SEARCH_USE_CASE_BROWSE. Se viene specificato SEARCH_USE_CASE_BROWSE, non è possibile utilizzare Condition.queryTerms nella condizione.
    • CONDITION: un campo facoltativo che definisce quando deve essere applicato il controllo. Contiene i seguenti campi:
      • VALUE: il valore specifico della query da confrontare. È una stringa UTF-8 minuscola di lunghezza [1, 5000]. Se FULL_MATCH_1 è true, questo campo può contenere al massimo tre termini separati da spazi.
      • FULL_MATCH: un valore booleano che indica se la query di ricerca deve corrispondere esattamente al termine della query. Se impostato su true, richiede che SearchRequest.query corrisponda esattamente a queryTerm.value. Se impostato su false, richiede che SearchRequest.query contenga queryTerm.value come sottostringa.
      • START_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare l'inizio di un intervallo di tempo.
      • END_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare la fine di un intervallo di tempo.
    • REDIRECT_URI_N: un URI a cui viene eseguito il reindirizzamento. Può avere una lunghezza massima di 2000 caratteri. Ad esempio, se il valore del termine di query è "assistenza", puoi impostare un reindirizzamento alla pagina di assistenza tecnica anziché restituire (o non restituire) risultati di ricerca per "assistenza". In questo esempio, l'URI di reindirizzamento diventa "https://www.example.com/support". Per ulteriori informazioni, vedi redirectAction.
  3. Collega il controllo alla configurazione di gestione dell'app utilizzando il metodo engines.servingConfigs.patch.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=redirect_control_ids" \
    -d '{
      "redirectControlIds": ["REDIRECT_ID_1", "REDIRECT_ID_2"]
    }'

    Sostituisci REDIRECT_ID_N con gli ID controllo che hai creato nel passaggio precedente.

Creare e allegare controlli di pubblicazione della promozione

Un controllo di pubblicazione della promozione ti consente di visualizzare un link come risultato promozionale. Questo controllo è disponibile per le app di ricerca con archivi di dati strutturati o non strutturati e per le app di ricerca ibrida.

Affinché il controllo di promozione abbia effetto, devi collegarlo alla configurazione di pubblicazione dell'app.

I controlli di promozione vengono definiti utilizzando un promoteAction.

Per creare correttamente un controllo di promozione, devi specificare il campo queryTerms con fullMatch impostato su true o false.

Per creare un controllo di pubblicazione della promozione, segui queste istruzioni.

Per i dettagli sui campi, consulta il riferimento API engines.controls e il riferimento API engines.controls.create.

  1. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

    1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera il relativo ID dalla colonna ID.

  2. Esegui i seguenti comandi curl per creare i controlli.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": ["USE_CASE"],
    "conditions": {
      "queryTerms": [
        {
          "value": "VALUE",
          "fullMatch": FULL_MATCH_TRUE|FALSE
        }
      ],
      "activeTimeRange": [
        {
          "startTime": "START_TIMESTAMP",
          "endTime": "END_TIMESTAMP"
        }
      ],
    },
    "promoteAction": {
      "dataStore": "DATA_STORE_RESOURCE_PATH",
      "searchLinkPromotion": {
         "document": "DOCUMENT_RESOURCE_PATH",
         "title": "TITLE",
         "uri": "URI",
         "description": "URI_DESCRIPTION",
      }
     }
    }'

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo Google Cloud progetto.
    • APP_ID: l'ID dell'app.
    • CONTROL_ID: un identificatore univoco per il controllo. L'ID può contenere da 1 a 63 caratteri che possono essere lettere, cifre, trattini e trattini bassi.
    • DISPLAY_NAME: il nome leggibile del controllo. Google consiglia di scegliere un nome che indichi quando o perché utilizzare il controllo. Deve essere una stringa codificata in UTF-8 con una lunghezza compresa tra 1 e 128 caratteri.
    • USE_CASE: deve essere SEARCH_USE_CASE_SEARCH o SEARCH_USE_CASE_BROWSE. Se viene specificato SEARCH_USE_CASE_BROWSE, non è possibile utilizzare Condition.queryTerms nella condizione.
    • Condition: un oggetto facoltativo che definisce quando deve essere applicato il controllo. Contiene i seguenti campi:
      • queryTerms:
        • VALUE: il valore specifico della query da confrontare. È una stringa UTF-8 minuscola di lunghezza [1, 5000].
        • FULL_MATCH_TRUE|FALSE: un valore booleano che indica se il termine di ricerca deve corrispondere completamente.
      • activeTimeRange:
        • START_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare l'inizio di un intervallo di tempo.
        • END_TIMESTAMP: un timestamp in formato "Zulu" UTC RFC 3339 per indicare la fine di un intervallo di tempo.
    • DATA_STORE_RESOURCE_PATH: il percorso completo della risorsa del datastore i cui risultati di ricerca contengono l'URL promosso. Il formato del percorso completo della risorsa è projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID. Questo datastore deve essere collegato al motore specificato nella richiesta.
    • DOCUMENT_RESOURCE_PATH: un campo per specificare il percorso della risorsa del documento da promuovere. Devi fornire l'ID documento nel campo DOCUMENT_RESOURCE_PATH, l'URI nel campo URI o entrambi.

      Il formato del percorso completo della risorsa è: projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID.

    • TITLE: un campo obbligatorio per specificare il titolo del documento o della pagina web da promuovere. Questo titolo viene visualizzato nel risultato di ricerca.

    • URI: un campo per specificare l'URI a cui il risultato di ricerca indirizza l'utente. Devi fornire l'ID documento nel campo DOCUMENT_RESOURCE_PATH, l'URI nel campo URI o entrambi.

    • URI_DESCRIPTION: un campo facoltativo per descrivere l'URI, che viene visualizzato nel risultato di ricerca.

    La risposta contiene gli ID controllo promozione che devi allegare al controllo promozione all'app di ricerca.

  3. Collega il controllo alla configurazione di gestione dell'app utilizzando il metodo engines.servingConfigs.patch. L'ordine in cui alleghi promoteControlIds nella seguente richiesta è l'ordine in cui vengono restituiti i risultati promozionali.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=promote_control_ids" \
    -d '{
      "promoteControlIds": ["PROMOTE_ID_1", "PROMOTE_ID_2"]
    }'

    Sostituisci PROMOTE_ID_N con gli ID controllo che hai ricevuto nel passaggio precedente.

Passaggi successivi