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.
Avant de commencer
Si vous utilisez le fichier robots.txt sur votre site Web, mettez-le à jour. Pour en savoir plus, consultez Préparer le fichier robots.txt de votre site Web.
Actualisation automatique
Agent Search effectue une actualisation automatique 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.
- Il actualise régulièrement les data stores 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
recrawlUrisautorisé est de 20 par jour et par projet. - Pages Web par appel Le nombre maximal de valeurs
urisque vous pouvez spécifier avec un appel à la méthoderecrawlUrisest 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 :
Trouvez l'ID de votre data store. Si vous disposez déjà de l'ID de votre data store, passez à l'étape suivante.
Dans la console Google Cloud , accédez à la page Applications d'IA et cliquez sur Datastores dans le menu de navigation.
Cliquez sur le nom de votre data store.
Sur la page Données de votre datastore, obtenez l'ID du datastore.
Appelez la méthode
recrawlUrisen utilisant le champurispour spécifier chaque page Web que vous souhaitez explorer. Chaqueurirepré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 Agent 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" } }Enregistrez la valeur
namecomme entrée pour l'opérationoperations.getlorsque 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 :
Trouvez l'ID de votre data store. Si vous disposez déjà de l'ID de votre data store, passez à l'étape suivante.
Dans la console Google Cloud , accédez à la page Applications d'IA et cliquez sur Datastores dans le menu de navigation.
Cliquez sur le nom de votre data store.
Sur la page Données de votre datastore, obtenez l'ID du datastore.
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 :
PROJECT_ID: ID de votre projet Google Cloud .OPERATION_NAME: nom de l'opération, qui se trouve dans le champnamerenvoyé dans votre appel à la méthoderecrawlUrisdans Réexplorer les pages Web de votre datastore. Vous pouvez également obtenir le nom de l'opération en répertoriant les opérations de longue durée.
É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éthoderecrawlUris.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 valeurfalseindique 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
pendingCountn'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éthoderecrawlUris.successCount: indique que 4 000 URI ont été explorés avec succès.done: une valeurtrueindique que l'opération de réexploration est terminée.
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 datastore. Utilisez les valeurs
failedUrisde la réponseoperations.getpour les valeurs du champurisdans votre nouvel appel à la méthoderecrawlUris.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éthoderecrawlUris.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 detrueindique 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 tableaufailureInfosont renvoyées, même si plus de dix URI n'ont pas pu être explorés.errorMessage. Raison pour laquelle un URI n'a pas pu être exploré, parcorpusType. Pour en savoir plus, consultez la section Messages d'erreur.
Actualisation régulière
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. Vous pouvez réessayer toutes les erreurs non transitoires après avoir appliqué 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 Agent 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 Google-CloudVertexBot est autorisé à explorer le site Web, puis réessayez l'exploration. Pour en savoir plus, consultez Données de site Web dans Préparer les données pour l'ingestion. 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.
Si le data store est configuré de sorte que le mode Sitemap soit défini sur Exact, la suppression d'une URL du sitemap entraîne sa suppression de l'index.
Si le data store est défini sur le mode Sitemap Discovery, la suppression d'une URL du sitemap ne supprime pas l'URL de l'index. L'URL ne sera pas supprimée de l'index tant que le site Web n'aura pas été exploré et que la page n'aura pas renvoyé un code 4xx ou 5xx.