Se il tuo datastore utilizza la ricerca di base del sito web, l'aggiornamento dell'indice del tuo negozio rispecchia l'aggiornamento disponibile nella Ricerca Google.
Se l'indicizzazione avanzata dei siti web è attivata nel tuo datastore, le pagine web al suo interno vengono aggiornate nei seguenti modi:
- Aggiornamento automatico
- Aggiornamento manuale
- Aggiornamento basato sulla Sitemap
Questa pagina descrive l'aggiornamento automatico e manuale. Per comprendere e implementare l'aggiornamento basato sulla sitemap, consulta Eseguire l'indicizzazione e l'aggiornamento in base alla sitemap.
Aggiornamento automatico
Vertex AI Search esegue l'aggiornamento automatico come segue:
- Dopo aver creato un datastore, viene generato un indice iniziale per le pagine incluse.
- Dopo l'indicizzazione iniziale, indicizza le pagine appena scoperte e esegue nuovamente la scansione delle pagine esistenti secondo il criterio del massimo impegno.
- Aggiorna regolarmente gli archivi di dati che registrano un tasso di query di 50 query/30 giorni.
Aggiornamento manuale
Se vuoi aggiornare pagine web specifiche in un datastore con l'Indicizzazione avanzata dei siti web attivata, puoi chiamare il metodo recrawlUris
. Utilizza il campo uris
per specificare ogni pagina web che vuoi eseguire la scansione. Il metodo recrawlUris
è un'operazione di lunga durata che viene eseguita fino a quando le pagine web specificate non vengono sottoposte a scansione o fino a quando non scade il timeout dopo 24 ore, a seconda dell'evento che si verifica per primo. Se il metodo recrawlUris
scade, puoi richiamarlo specificando le pagine web che rimangono da eseguire la scansione. Puoi eseguire il polling del metodo operations.get
per monitorare lo stato dell'operazione di nuova scansione.
Limiti per la ricorcolazione
Esistono limiti alla frequenza con cui puoi eseguire la scansione delle pagine web e al numero di pagine web che puoi scansionare contemporaneamente:
- Chiamate al giorno. Il numero massimo di chiamate al metodo
recrawlUris
consentite è cinque al giorno per progetto. - Pagine web per chiamata. Il numero massimo di valori
uris
che puoi specificare con una chiamata al metodorecrawlUris
è 10.000.
Esegui nuovamente la scansione delle pagine web nel tuo datastore
Puoi eseguire manualmente la scansione di pagine web specifiche in un datastore in cui è attivata l'Indicizzazione avanzata dei siti web.
REST
Per utilizzare la riga di comando per eseguire la scansione di pagine web specifiche nel tuo datastore:
Trova l'ID del tuo datastore. Se hai già l'ID del tuo datastore, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder e nel menu di navigazione fai clic su Data Store.
Fai clic sul nome del tuo datastore.
Nella pagina Dati del tuo datastore, ottieni l'ID datastore.
Chiama il metodo
recrawlUris
utilizzando il campouris
per specificare ogni pagina web che vuoi eseguire la scansione. Ogniuri
rappresenta una singola pagina anche se contiene asterischi (*
). I pattern jolly non sono supportati.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] }'
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto Google Cloud.DATA_STORE_ID
: l'ID dello datastore di Vertex AI Search.URIS
: l'elenco di pagine web da eseguire la scansione, ad esempio"https://example.com/page-1", "https://example.com/page-2", "https://example.com/page-3"
.
L'output è simile al seguente:
{ "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" } }
Salva il valore
name
come input per l'operazioneoperations.get
quando monitori lo stato dell'operazione di nuova scansione.
Monitorare lo stato dell'operazione di nuova scansione
Il metodo recrawlUris
, che utilizzi per eseguire la scansione delle pagine web in un data store, è un'operazione a lungo termine che viene eseguita fino a quando non vengono eseguite le scansioni delle pagine web specificate o fino a quando non scade il tempo di attesa dopo 24 ore, a seconda dell'evento che si verifica per primo. Puoi monitorare lo stato di questa operazione a lunga esecuzione eseguendo il polling del metodo operations.get
, specificando il valore name
restituito dal metodo recrawlUris
. Continua a eseguire il polling finché la risposta non indica che:
(1) Tutte le tue pagine web sono state sottoposte a scansione o (2) l'operazione ha superato il tempo di attesa prima che tutte
le tue pagine web fossero sottoposte a scansione. Se recrawlUris
si arresta in modo anomalo, puoi richiamarlo nuovamente specificando i siti web che non sono stati sottoposti a scansione.
REST
Per utilizzare la riga di comando per monitorare lo stato di un'operazione di nuova scansione, segui questi passaggi:
Trova l'ID del tuo datastore. Se hai già l'ID del tuo datastore, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder e nel menu di navigazione fai clic su Data Store.
Fai clic sul nome del tuo datastore.
Nella pagina Dati del tuo datastore, ottieni l'ID datastore.
Effettua il polling del metodo
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"
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto Google Cloud.OPERATION_NAME
: il nome dell'operazione, trovato nel camponame
restituito nella chiamata al metodorecrawlUris
in Esegui nuovamente la scansione delle pagine web nel tuo data store. Puoi anche ottenere il nome dell'operazione elencando le operazioni a lunga esecuzione.
Valuta ogni risposta.
Se una risposta indica che sono presenti URI in attesa e l'operazione di nuova scansione non è stata completata, le tue pagine web sono ancora in fase di scansione. Continua con il sondaggio.
Esempio
{ "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", } }
I campi di risposta possono essere descritti come segue:
createTime
: indica l'ora di inizio dell'operazione a lunga esecuzione.updateTime
: indica l'ultima volta che i metadati dell'operazione a lunga esecuzione sono stati aggiornati. Indica gli aggiornamenti dei metadati ogni cinque minuti fino al completamento dell'operazione.validUrisCount
: indica che hai specificato 4000 URI validi nella chiamata al metodorecrawlUris
.successCount
: indica che sono stati sottoposti a scansione 2215 URI.pendingCount
: indica che 1785 URI non sono ancora stati sottoposti a scansione.done
: un valorefalse
indica che l'operazione di nuova scansione è ancora in corso.
Se una risposta indica che non ci sono URI in attesa (non viene restituito alcun campo
pendingCount
) e l'operazione di nuova scansione è stata completata, le tue pagine web vengono sottoposte a scansione. Interrompi l'interrogazione: puoi uscire da questa procedura.Esempio
{ "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" } }
I campi di risposta possono essere descritti come segue:
createTime
: indica l'ora di inizio dell'operazione a lunga esecuzione.updateTime
: indica l'ultima volta che i metadati dell'operazione a lunga esecuzione sono stati aggiornati. Indica gli aggiornamenti dei metadati ogni cinque minuti fino al completamento dell'operazione.validUrisCount
: indica che hai specificato 4000 URI validi nella chiamata al metodorecrawlUris
.successCount
: indica che sono stati sottoposti a scansione 4000 URI.done
: un valoretrue
indica che l'operazione di nuova scansione è stata completata.
Se una risposta indica che sono presenti URI in attesa e l'operazione di nuova scansione è stata completata, l'operazione di nuova scansione ha superato il tempo di attesa (dopo 24 ore) prima che tutte le pagine web fossero sottoposte a scansione. Ricomincia da Esegui nuovamente la scansione delle pagine web nel tuo datastore. Utilizza i valori
failedUris
nella rispostaoperations.get
per i valori nel campouris
nella nuova chiamata al metodorecrawlUris
.Esempio.
{ "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." } ] } ] } }
Ecco alcune descrizioni dei campi di risposta:
createTime
. L'ora in cui è iniziata l'operazione a lunga esecuzione.updateTime
. L'ultima volta che i metadati dell'operazione a lunga esecuzione sono stati aggiornati. I metadati vengono aggiornati ogni cinque minuti fino al completamento dell'operazione.validUrisCount
. Indica che hai specificato 10.000 URI validi nella chiamata al metodorecrawlUris
.successCount
. Indica che sono stati sottoposti a scansione 9988 URI.pendingCount
. Indica che 12 URI non sono ancora stati sottoposti a scansione.done
. Un valoretrue
indica che l'operazione di nuova scansione è stata completata.failedUris
. Un elenco di URI che non sono stati sottoposti a scansione prima del timeout dell'operazione di nuova scansione.failureInfo
. Informazioni sugli URI di cui non è stato eseguito il crawling. Vengono restituiti al massimo dieci valori dell'arrayfailureInfo
, anche se la scansione di più di dieci URI non è riuscita.errorMessage
. Il motivo per cui la scansione di un URI non è riuscita, percorpusType
. Per maggiori informazioni, consulta Messaggi di errore.
Aggiornamento tempestivo
Google consiglia di eseguire l'aggiornamento manuale delle pagine nuove e aggiornate per assicurarti di avere l'indice più recente.
Messaggi di errore
Quando monitori lo stato dell'operazione di ricorsione, se questa scade mentre esegui il polling del metodo operations.get
, operations.get
restituisce messaggi di errore per le pagine web che non sono state sottoposte a scansione. Nella tabella seguente sono elencati i messaggi di errore, se l'errore è temporaneo (un errore temporaneo che si risolve da solo) e le azioni che puoi intraprendere prima di riprovare a utilizzare il metodo recrawlUris
. Puoi riprovare immediatamente per tutti gli errori temporanei. Per tutti gli errori intransitori è possibile riprovare dopo aver applicato la correzione.
Messaggio di errore | Si tratta di un errore temporaneo? | Azione prima di riprovare a eseguire la ricorsione |
---|---|---|
La pagina è stata sottoposta a scansione, ma non è stata indicizzata da Vertex AI Search entro 24 ore | Sì | Utilizza i valori failedUris nella risposta operations.get per i valori nel campo uris quando chiami il metodo recrawlUris . |
La scansione è stata bloccata dal robots.txt del sito |
No | Sblocca l'URI nel file robots.txt del tuo sito web, assicurati che lo user agent Googlebot sia autorizzato a eseguire la scansione del sito web,
e riprova a eseguire la nuova scansione. Per ulteriori informazioni, consulta
Come scrivere e inviare un file robots.txt.
Se non riesci ad accedere al file robots.txt , contatta il proprietario del dominio. |
La pagina non è raggiungibile | No | Controlla l'URI specificato quando chiami il metodo recrawlUris . Assicurati di fornire l'URI letterale e non un pattern URI. |
La scansione ha superato il tempo di attesa | Sì | Utilizza i valori failedUris nella risposta operations.get per i valori nel campo uris quando chiami il metodo recrawlUris . |
La pagina è stata rifiutata dal crawler di Google | Sì | Utilizza i valori failedUris nella risposta operations.get per i valori nel campo uris quando chiami il metodo recrawlUris . |
Impossibile seguire l'URL dal crawler di Google | No | Se sono presenti più reindirizzamenti, utilizza l'URI dell'ultimo reindirizzamento e riprova |
Pagina non trovata (404) | No | Controlla l'URI specificato quando chiami il metodo recrawlUris . Assicurati di fornire l'URI letterale e non un pattern URI.
Qualsiasi pagina che risponde con un codice di errore "4xx" viene rimossa dall'indice. |
La pagina richiede l'autenticazione | No | L'indicizzazione avanzata dei siti web non supporta la scansione di pagine web che richiedono l'autenticazione. |
Come vengono gestite le pagine eliminate
Quando una pagina viene eliminata, Google consiglia di aggiornare manualmente gli URL eliminati.
Quando l'datastore del tuo sito web viene sottoposto a scansione durante un aggiornamento automatico o manuale, se una pagina web risponde con un codice di errore client 4xx
o un codice di errore del server 5xx
, la pagina web che non risponde viene rimossa dall'indice.