Actualiser les pages Web à l'aide d'une actualisation automatique et manuelle

Si votre data store utilise la recherche de base sur le site Web, la fraîcheur de l'index de votre magasin reflète celle disponible dans la recherche Google.

Si l'indexation avancée de sites Web est activée dans votre data store, les pages Web de votre data store sont actualisées de la manière suivante :

  • Actualisation automatique
  • Actualisation manuelle
  • Actualisation basée sur le sitemap

Cette page décrit l'actualisation automatique et manuelle. Pour comprendre et implémenter l'actualisation basée sur le sitemap, consultez Indexer et actualiser selon le sitemap.

Actualisation automatique

Vertex AI Search actualise automatiquement les données comme suit :

  • Une fois que vous avez créé un data store, il génère un index initial pour les pages incluses.
  • Après l'indexation initiale, il indexe toutes les nouvelles pages découvertes et explore à nouveau les pages existantes dans la mesure du possible.
  • Elle actualise régulièrement les dépôts de données qui rencontrent un taux de requêtes de 50 requêtes/30 jours.

Actualisation manuelle

Si vous souhaitez actualiser des pages Web spécifiques dans un data store avec l'option Indexation avancée de sites Web activée, vous pouvez appeler la méthode recrawlUris. Vous utilisez le champ uris pour spécifier chaque page Web que vous souhaitez explorer. La méthode recrawlUris est une opération de longue durée qui s'exécute jusqu'à ce que les pages Web spécifiées soient explorées ou jusqu'à ce qu'elle expire au bout de 24 heures, selon la première de ces éventualités. Si la méthode recrawlUris expire, vous pouvez l'appeler à nouveau en spécifiant les pages Web qui restent à explorer. Vous pouvez interroger la méthode operations.get pour surveiller l'état de votre opération de réexploration.

Limites de la réexploration

La fréquence et le nombre de pages Web que vous pouvez explorer à la fois sont limités :

  • Appels par jour Le nombre maximal d'appels à la méthode recrawlUris autorisé est de 20 par jour et par projet.
  • Pages Web par appel : Le nombre maximal de valeurs uris que vous pouvez spécifier avec un appel à la méthode recrawlUris est de 10 000.

Recrawler les pages Web de votre data store

Vous pouvez explorer manuellement des pages Web spécifiques dans un data store pour lequel l'indexation avancée de sites Web est activée.

REST

Pour utiliser la ligne de commande afin d'explorer des pages Web spécifiques dans votre data store, procédez comme suit :

  1. Trouvez l'ID de votre data store. Si vous disposez déjà de l'ID de votre data store, passez à l'étape suivante.

    1. Dans la console Google Cloud , accédez à la page Applications d'IA et cliquez sur Data stores dans le menu de navigation.

      Accéder à la page "Data stores"

    2. Cliquez sur le nom de votre data store.

    3. Sur la page Données de votre datastore, obtenez l'ID du datastore.

  2. Appelez la méthode recrawlUris en utilisant le champ uris pour spécifier chaque page Web que vous souhaitez explorer. Chaque uri représente une seule page, même s'il contient des astérisques (*). Les modèles génériques ne sont pas acceptés.

    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/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/siteSearchEngine:recrawlUris" \
    -d '{
      "uris": [URIS]
    }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Google Cloud .
    • DATA_STORE_ID : ID du data store Vertex AI Search.
    • URIS : liste des pages Web que vous souhaitez explorer (par exemple, "https://example.com/page-1", "https://example.com/page-2", "https://example.com/page-3").

    Le résultat ressemble à ce qui suit :

    {
      "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-0123456789012345678",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata"
      }
    }
    
  3. Enregistrez la valeur name comme entrée pour l'opération operations.get lorsque vous surveillez l'état de votre opération de réexploration.

Surveiller l'état de votre opération de réexploration

La méthode recrawlUris, que vous utilisez pour explorer des pages Web dans un data store, est une opération de longue durée qui s'exécute jusqu'à ce que les pages Web spécifiées soient explorées ou jusqu'à ce qu'elle expire au bout de 24 heures, selon la première de ces deux éventualités. Vous pouvez surveiller l'état de cette opération de longue durée en interrogeant la méthode operations.get, en spécifiant la valeur name renvoyée par la méthode recrawlUris. Continuez à interroger l'API jusqu'à ce que la réponse indique que : (1) toutes vos pages Web ont été explorées, ou (2) l'opération a expiré avant que toutes vos pages Web aient été explorées. Si recrawlUris expire, vous pouvez l'appeler à nouveau en spécifiant les sites Web qui n'ont pas été explorés.

REST

Pour utiliser la ligne de commande afin de surveiller l'état d'une opération de réexploration, procédez comme suit :

  1. Trouvez l'ID de votre data store. Si vous disposez déjà de l'ID de votre data store, passez à l'étape suivante.

    1. Dans la console Google Cloud , accédez à la page Applications d'IA et cliquez sur Data stores dans le menu de navigation.

      Accéder à la page "Data stores"

    2. Cliquez sur le nom de votre data store.

    3. Sur la page Données de votre datastore, obtenez l'ID du datastore.

  2. Interrogez la méthode operations.get.

    curl -X GET \
    -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/OPERATION_NAME"
    

    Remplacez les éléments suivants :

  3. Évaluez chaque réponse.

    • Si une réponse indique qu'il existe des URI en attente et que l'opération de réexploration n'est pas terminée, vos pages Web sont toujours en cours d'exploration. Continuer l'interrogation.

      Exemple

        {
          "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-0123456789012345678",
          "metadata": {
            "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata",
            "createTime": "2023-09-05T22:07:28.690950Z",
            "updateTime": "2023-09-05T22:22:10.978843Z",
            "validUrisCount": 4000,
            "successCount": 2215,
            "pendingCount": 1785
          },
          "done": false,
          "response": {
            "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse",
          }
        }

      Les champs de réponse peuvent être décrits comme suit :

      • createTime : indique l'heure de début de l'opération de longue durée.
      • updateTime : indique la dernière mise à jour des métadonnées de l'opération de longue durée. Les métadonnées sont mises à jour toutes les cinq minutes jusqu'à la fin de l'opération.
      • validUrisCount : indique que vous avez spécifié 4 000 URI valides dans votre appel à la méthode recrawlUris.
      • successCount : indique que 2 215 URI ont été explorés avec succès.
      • pendingCount : indique que 1 785 URI n'ont pas encore été explorés.
      • done : une valeur false indique que l'opération de réexploration est toujours en cours.

    • Si une réponse indique qu'il n'y a pas d'URI en attente (aucun champ pendingCount n'est renvoyé) et que l'opération de réexploration est terminée, vos pages Web sont explorées. Arrêtez l'interrogation. Vous pouvez quitter cette procédure.

      Exemple

        {
          "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-0123456789012345678",
          "metadata": {
            "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata",
            "createTime": "2023-09-05T22:07:28.690950Z",
            "updateTime": "2023-09-05T22:37:11.367998Z",
            "validUrisCount": 4000,
            "successCount": 4000
          },
          "done": true,
          "response": {
            "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse"
          }
        }

      Les champs de réponse peuvent être décrits comme suit :

      • createTime : indique l'heure de début de l'opération de longue durée.
      • updateTime : indique la dernière mise à jour des métadonnées de l'opération de longue durée. Les métadonnées sont mises à jour toutes les cinq minutes jusqu'à la fin de l'opération.
      • validUrisCount : indique que vous avez spécifié 4 000 URI valides dans votre appel à la méthode recrawlUris.
      • successCount : indique que 4 000 URI ont été explorés avec succès.
      • done : une valeur true indique que l'opération de réexploration est terminée.
  4. Si une réponse indique qu'il existe des URI en attente et que l'opération de réexploration est terminée, cela signifie que l'opération de réexploration a expiré (au bout de 24 heures) avant que toutes vos pages Web n'aient été explorées. Recommencez à l'étape Recrawler les pages Web de votre data store. Utilisez les valeurs failedUris de la réponse operations.get pour les valeurs du champ uris dans votre nouvel appel à la méthode recrawlUris.

    Example.

    {
      "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-8765432109876543210",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata",
        "createTime": "2023-09-05T22:07:28.690950Z",
        "updateTime": "2023-09-06T22:09:10.613751Z",
        "validUrisCount": 10000,
        "successCount": 9988,
        "pendingCount": 12
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse",
        "failedUris": [
          "https://example.com/page-9989",
          "https://example.com/page-9990",
          "https://example.com/page-9991",
          "https://example.com/page-9992",
          "https://example.com/page-9993",
          "https://example.com/page-9994",
          "https://example.com/page-9995",
          "https://example.com/page-9996",
          "https://example.com/page-9997",
          "https://example.com/page-9998",
          "https://example.com/page-9999",
          "https://example.com/page-10000"
        ],
        "failureSamples": [
          {
            "uri": "https://example.com/page-9989",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9990",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9991",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9992",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9993",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9994",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9995",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9996",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9997",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9998",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          }
        ]
      }
    }

    Voici quelques descriptions des champs de réponse :

    • createTime. Heure de début de l'opération de longue durée.
    • updateTime : la dernière fois que les métadonnées de l'opération de longue durée ont été mises à jour. Les métadonnées sont mises à jour toutes les cinq minutes jusqu'à ce que l'opération soit terminée.
    • validUrisCount : indique que vous avez spécifié 10 000 URI valides dans votre appel à la méthode recrawlUris.
    • successCount : indique que 9 988 URI ont été explorés avec succès.
    • pendingCount : indique que 12 URI n'ont pas encore été explorés.
    • done. Une valeur de true indique que l'opération de réexploration est terminée.
    • failedUris : liste des URI qui n'ont pas été explorés avant l'expiration du délai de l'opération de réexploration.
    • failureInfo. Informations sur les URI qui n'ont pas pu être explorés. Au maximum, dix valeurs de tableau failureInfo sont renvoyées, même si plus de dix URI n'ont pas pu être explorés.
    • errorMessage. La raison pour laquelle un URI n'a pas pu être exploré, par corpusType. Pour en savoir plus, consultez la section Messages d'erreur.

Actualisation rapide

Google vous recommande d'actualiser manuellement vos pages nouvelles et modifiées pour vous assurer de disposer du dernier index.

Messages d'erreur

Lorsque vous surveillez l'état de votre opération de réexploration, si l'opération de réexploration expire pendant que vous interrogez la méthode operations.get, operations.get renvoie des messages d'erreur pour les pages Web qui n'ont pas été explorées. Le tableau suivant liste les messages d'erreur, indique si l'erreur est temporaire (une erreur temporaire qui se résout d'elle-même) et les actions que vous pouvez effectuer avant de réessayer la méthode recrawlUris. Vous pouvez réessayer immédiatement en cas d'erreurs temporaires. Toutes les erreurs non transitoires peuvent être corrigées après l'implémentation de la solution.

Message d'erreur S'agit-il d'une erreur temporaire ? Action avant de réessayer l'exploration
La page a été explorée, mais n'a pas été indexée par Vertex AI Search dans les 24 heures Oui Utilisez les valeurs failedUris de la réponse operations.get pour les valeurs du champ uris lorsque vous appelez la méthode recrawlUris.
L'exploration a été bloquée par le fichier robots.txt du site. Non Débloquez l'URI dans le fichier robots.txt de votre site Web, assurez-vous que le user-agent Googlebot est autorisé à explorer le site Web, puis réessayez l'exploration. Pour en savoir plus, consultez Créer et envoyer un fichier robots.txt. Si vous ne parvenez pas à accéder au fichier robots.txt, contactez le propriétaire du domaine.
Page inaccessible Non Vérifiez l'URI que vous avez spécifié lorsque vous avez appelé la méthode recrawlUris. Assurez-vous de fournir l'URI littéral et non un format d'URI.
Délai d'exploration expiré Oui Utilisez les valeurs failedUris de la réponse operations.get pour les valeurs du champ uris lorsque vous appelez la méthode recrawlUris.
Page refusée par le robot d'exploration Google Oui Utilisez les valeurs failedUris de la réponse operations.get pour les valeurs du champ uris lorsque vous appelez la méthode recrawlUris.
Le robot d'exploration Google n'a pas pu suivre l'URL Non S'il y a plusieurs redirections, utilisez l'URI de la dernière redirection et réessayez.
Page introuvable (404) Non Vérifiez l'URI que vous avez spécifié lorsque vous avez appelé la méthode recrawlUris. Assurez-vous de fournir l'URI littéral et non un format d'URI.

Toute page qui renvoie un code d'erreur "4xx" est supprimée de l'index.

Authentification requise pour accéder à la page Non L'indexation avancée de site Web n'est pas compatible avec l'exploration des pages Web nécessitant une authentification.

Gestion des pages supprimées

Lorsqu'une page est supprimée, Google vous recommande d'actualiser manuellement les URL supprimées.

Lorsque votre data store de site Web est exploré lors d'une actualisation automatique ou manuelle, si une page Web répond avec un code d'erreur client 4xx ou un code d'erreur serveur 5xx, la page Web qui ne répond pas est supprimée de l'index.