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 la fraîcheur 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 comme suit:

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

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

Actualisation automatique

Vertex AI Search effectue une actualisation automatique comme suit:

  • Une fois que vous avez créé un data store, il génère un indice initial pour les pages incluses.
  • Après l'indexation initiale, il indexe toutes les pages nouvellement découvertes et réexplore les pages existantes dans la mesure du possible.
  • Il actualise régulièrement les entrepôts de données qui enregistrent 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. 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 vos pages Web spécifiées soient explorées ou jusqu'à ce qu'elle expire au bout de 24 heures, selon la première éventualité. Si la méthode recrawlUris expire, vous pouvez l'appeler à nouveau en spécifiant les pages Web restantes à explorer. Vous pouvez interroger la méthode operations.get pour surveiller l'état de votre opération de réexploration.

Limites du 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 de la méthode recrawlUris autorisé est de cinq 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.

Récupérer à nouveau 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 pour explorer des pages Web spécifiques dans votre data store, procédez comme suit:

  1. Recherchez 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 Agent Builder et cliquez sur Data Stores dans le menu de navigation.

      Accéder à la page "Datastores"

    2. Cliquez sur le nom de votre data store.

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

  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 suivez 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 magasin de données, 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 éventualité. 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 ne soient 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 surveiller l'état d'une opération de réexploration à l'aide de la ligne de commande, procédez comme suit:

  1. Recherchez 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 Agent Builder et cliquez sur Data Stores dans le menu de navigation.

      Accéder à la page "Datastores"

    2. Cliquez sur le nom de votre data store.

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

  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. Continuez 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 à laquelle l'opération de longue durée a commencé.
      • updateTime: indique la dernière fois que les métadonnées de l'opération de longue durée ont été mises à jour. indique les mises à jour des métadonnées 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 à laquelle l'opération de longue durée a commencé.
      • updateTime: indique la dernière fois que les métadonnées de l'opération de longue durée ont été mises à jour. indique les mises à jour des métadonnées 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é (après 24 heures) avant que toutes vos pages Web ne soient explorées. Recommencez à l'étape Réexplorer les pages Web de votre data store. Utilisez les valeurs failedUris dans 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 à laquelle l'opération de longue durée a commencé.
    • updateTime : 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 de l'opération de réexploration.
    • failureInfo : informations sur les URI qui n'ont pas été explorés. Au plus, dix valeurs de tableau failureInfo sont renvoyées, même si l'exploration de plus de dix URI a échoué.
    • errorMessage : raison pour laquelle l'exploration d'un URI a échoué, par corpusType. Pour en savoir plus, consultez la section Messages d'erreur.

Actualisation opportune

Google vous recommande d'effectuer une actualisation manuelle de vos pages nouvelles et mises à jour pour vous assurer de disposer de l'index le plus récent.

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 répertorie 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 immédiatement réessayer toutes les erreurs temporaires. Toutes les erreurs non persistantes peuvent être réessayées après avoir appliqué la solution.

Message d'erreur S'agit-il d'une erreur temporaire ? Action à effectuer avant de réessayer l'exploration
La page a été explorée, mais n'a pas été indexée par Vertex AI Search dans un délai de 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 robots.txt du site Non Débloquez l'URI dans le fichier robots.txt de votre site Web, assurez-vous que l'user-agent Googlebot est autorisé à explorer le site Web, puis réessayez de l'explorer. 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 appelez la méthode recrawlUris. Assurez-vous de fournir l'URI littéral et non un format d'URI.
L'exploration a 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.
La page a été 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.
L'URL n'a pas pu être suivie par le robot d'exploration de Google Non Si plusieurs redirections sont effectuées, 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 appelez la méthode recrawlUris. Assurez-vous de fournir l'URI littéral et non un format d'URI.

Toute page qui répond avec un code d'erreur 4xx est supprimée de l'index.

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

Comment les pages supprimées sont-elles gérées ?

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

Lorsque le data store de votre 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.