Gérer la configuration de la recherche

Restriction

Si une propriété de facette figure dans la configuration de la recherche, ses champs mappés doivent toujours correspondre à ceux de la propriété des critères de recherche. Ces champs doivent correspondre au schéma de données existant, avec le même type, la même précision et la même stratégie de recherche.

Créer une configuration de recherche

REST

Pour créer une ressource SearchConfig, envoyez une requête POST à l'aide de la méthode projects.locations.corpora.searchConfigs.create.

Voici un exemple de création d'une configuration de recherche avec des critères de recherche personnalisés.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • CORPUS_ID : ID de votre corpus cible.
  • SEARCHCONFIG : nom de votre SearchConfig cible.
    • Dans cet exemple, SearchConfig est person.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Mettre à jour une configuration de recherche

REST

Pour mettre à jour une ressource SearchConfig, envoyez une requête POST à l'aide de la méthode projects.locations.corpora.searchConfigs.patch.

Voici un exemple de création d'une configuration de recherche avec des critères de recherche personnalisés.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT : ID ou numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • CORPUS_ID : ID de votre corpus cible.
  • SEARCHCONFIG_ID : ID de votre SearchConfig cible.
  • "mappedFields" : une ou plusieurs clés d'annotation existantes fournies par l'utilisateur.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Obtenir une configuration de recherche

L'exemple suivant vous montre comment récupérer un SearchConfig existant qui facilite la recherche de personnes dans les données stockées dans l'entrepôt.

REST

Pour obtenir des détails sur un SearchConfig, envoyez une requête GET à l'aide de la méthode projects.locations.corpora.searchConfigs.get.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • CORPUS_ID : ID de votre corpus cible.
  • SEARCHCONFIG : nom de votre SearchConfig cible.
    • Dans cet exemple, SearchConfig est person.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Lister les configurations de recherche

L'exemple suivant vous montre comment lister toutes les ressources SearchConfig créées précédemment.

Vous pouvez spécifier le nombre de configurations de recherche listées en définissant le champ page_size dans votre requête.

REST

Pour répertorier toutes les configurations de recherche, envoyez une requête GET à l'aide de la méthode projects.locations.corpora.searchConfigs.list.

Dans cet exemple, le champ page_size est défini sur 2, ce qui limite la réponse à deux configurations de recherche. Si la taille de la page n'est pas spécifiée, la valeur par défaut de 25 est utilisée.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • CORPUS_ID : ID de votre corpus cible.
  • PAGE_SIZE : (facultatif) nombre de résultats à renvoyer.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

{
  "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 réponse ne contient que deux SearchConfigs, car le champ page_size=2 est défini dans la requête. Pour afficher la page suivante des configurations de recherche, incluez le paramètre next_page_token de la réponse précédente dans votre prochaine requête :

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

Supprimer une configuration de recherche

API REST et ligne de commande

L'exemple de code suivant utilise la méthode projects.locations.corpora.searchConfigs.delete pour supprimer un SearchConfig. Le SearchConfig doit exister pour que cette requête aboutisse.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • CORPUS_ID : ID de votre corpus cible.
  • SEARCHCONFIG_ID : ID de votre SearchConfig cible.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

{}