Gestisci configurazione ricerca

Limitazione

Se nella configurazione della ricerca è presente una proprietà sfaccettata, i relativi campi mappati devono sempre corrispondere a quelli della proprietà dei criteri di ricerca. Questi campi devono corrispondere allo schema di dati esistente con lo stesso tipo, la stessa granularità e la stessa strategia di ricerca.

Crea una configurazione di ricerca

REST

Per creare una risorsa SearchConfig, invia una richiesta POST utilizzando il metodo projects.locations.corpora.searchConfigs.create.

Ecco l'esempio di come creare una configurazione di ricerca con criteri di ricerca personalizzati.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
  • LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio: us-central1, europe-west4. Vedi le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • SEARCHCONFIG: il nome del tuo SearchConfig di destinazione.
    • Il SearchConfig in questo esempio è person.

Metodo HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=person

Corpo JSON della richiesta:

{
   "search_criteria_property": {
     "mapped_fields": "player",
     "mapped_fields": "coach",
     "mapped_fields": "cheerleader",
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=person"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=person" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/person",
  "searchCriteriaProperty":
    {
      "mappedFields": [
        "player",
        "coach",
        "cheerleader"
      ]
    }
}

Aggiornare una configurazione di ricerca

REST

Per aggiornare una risorsa SearchConfig, invia una richiesta POST utilizzando il metodo projects.locations.corpora.searchConfigs.patch.

Ecco l'esempio di come creare una configurazione di ricerca con criteri di ricerca personalizzati.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT: il tuo Google Cloud ID progetto o numero di progetto.
  • LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio: us-central1, europe-west4. Vedi le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • SEARCHCONFIG_ID: l'ID del tuo SearchConfig target.
  • "mappedFields": Una o più chiavi di annotazione fornite dall'utente esistenti.

Metodo HTTP e URL:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID

Corpo JSON della richiesta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID1",
  "searchCriteriaProperty": {
    "mappedFields": "dataschema2"
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID1",
  "searchCriteriaProperty": {
    "mappedFields": [
      "dataschema2"
    ]
  }
}

Recuperare una configurazione di ricerca

L'esempio seguente mostra come recuperare un SearchConfig esistente che semplifica la ricerca di persone nei dati archiviati nel magazzino.

REST

Per ottenere i dettagli di un SearchConfig, invia una richiesta GET utilizzando il metodo projects.locations.corpora.searchConfigs.get.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
  • LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio: us-central1, europe-west4. Vedi le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • SEARCHCONFIG: il nome del tuo SearchConfig di destinazione.
    • Il SearchConfig in questo esempio è person.

Metodo HTTP e URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG

Per inviare la richiesta, scegli una di queste opzioni:

curl

Esegui questo comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG"

PowerShell

Esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/person"
  "facet_property": {
    // Top-level facet group name.
    "display_name": "Person",
    // Each mapped_field will be displayed in the UI as a selectable value
    // under "Person".
    "mapped_fields": "player",
    // The maximum number of mapped_fields to be displayed.
    "result_size": 2,
    // The facet type is a singular value. In this case, type string.
    "bucket_type": FACET_BUCKET_TYPE_VALUE
  }
}

Elenca configurazioni di ricerca

L'esempio seguente mostra come elencare tutte le risorse SearchConfig create in precedenza.

Puoi specificare il numero di configurazioni di ricerca elencate impostando il campo page_size nella richiesta.

REST

Per elencare tutte le configurazioni di ricerca, invia una richiesta GET utilizzando il metodo projects.locations.corpora.searchConfigs.list.

In questo esempio, il campo page_size è impostato su 2, limitando la risposta a due configurazioni di ricerca. Se le dimensioni della pagina non sono specificate, viene utilizzato il valore predefinito di 25.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
  • LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio: us-central1, europe-west4. Vedi le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • PAGE_SIZE: (facoltativo) Il numero di risultati da restituire.

Metodo HTTP e URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?page_size=2

Per inviare la richiesta, scegli una di queste opzioni:

curl

Esegui questo comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?page_size=2"

PowerShell

Esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?page_size=2" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "next_page_token": "xyz",
  "search_configs": {
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/person",
    "facet_property": {
      // Top-level facet group name.
      "display_name": "Person",
      // Each mapped_field will be displayed in the console as a selectable value
      // under "Person".
      "mapped_fields": "player",
      // The maximum number of mapped_fields to be displayed.
      "result_size": 2,
      // The facet type is a singular value. In this case, type string.
      "bucket_type": FACET_BUCKET_TYPE_VALUE
    }
  },
  "search_configs": {
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/location",
    "facet_property": {
      // Top-level facet group name.
      "display_name": "location",
      // Each mapped_field will be displayed in the console as a selectable value
      // under "location".
      "mapped_fields": "city",
      // The maximum number of mapped_fields to be displayed.
      "result_size": 2,
      // The facet type is a singular value. In this case, type string.
      "bucket_type": FACET_BUCKET_TYPE_VALUE
    }
  }
}

La risposta contiene solo due SearchConfigs perché nella richiesta è impostato il campo page_size=2. Per visualizzare la pagina successiva delle configurazioni di ricerca, includi l'impostazione next_page_token della risposta precedente nella richiesta successiva:

  • https://warehouse-visionai.googleapis.com/v1alpha/[...]/searchConfigs?page_size=2&page_token='xyz'

Eliminare una configurazione di ricerca

REST & CMD LINE

Il seguente esempio di codice utilizza il metodo projects.locations.corpora.searchConfigs.delete per eliminare un SearchConfig. SearchConfig deve esistere affinché questa richiesta vada a buon fine.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
  • LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio: us-central1, europe-west4. Vedi le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • SEARCHCONFIG_ID: l'ID del tuo SearchConfig target.

Metodo HTTP e URL:

DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID

Per inviare la richiesta, scegli una di queste opzioni:

curl

Esegui questo comando:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID"

PowerShell

Esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{}