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 datastore, le pagine web del datastore 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 Indicizzazione e aggiornamento in base alla sitemap.
Aggiornamento automatico
Vertex AI Search esegue l'aggiornamento automatico nel seguente modo:
- Dopo aver creato un datastore, viene generato un indice iniziale per le pagine incluse.
- Dopo l'indicizzazione iniziale, indicizza tutte le pagine appena scoperte ed esegue una nuova scansione delle pagine esistenti nel miglior modo possibile.
- Aggiorna regolarmente gli archivi di dati che raggiungono una frequenza 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 sottoporre a scansione. Il metodo recrawlUris
è un'operazione a lunga esecuzione che viene eseguita fino a quando le pagine web specificate non vengono sottoposte a scansione o fino a quando non si verifica un timeout dopo 24 ore, a seconda dell'eventualità che si verifica per prima. Se il metodo
recrawlUris
scade, puoi chiamarlo di nuovo, specificando le pagine web
che devono ancora essere sottoposte a scansione. Puoi eseguire il polling del metodo operations.get
per monitorare lo stato dell'operazione di nuova scansione.
Limiti di scansione
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
consentito è 20 al giorno per progetto. - Pagine web per chiamata. Il numero massimo di valori
uris
che puoi specificare con una chiamata al metodorecrawlUris
è 10.000.
Eseguire nuovamente la scansione delle pagine web nel 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 datastore:
Trova l'ID datastore. Se hai già l'ID del tuo datastore, vai al passaggio successivo.
Nella console Google Cloud , vai alla pagina AI Applications e nel menu di navigazione, fai clic su Datastore.
Fai clic sul nome del tuo datastore.
Nella pagina Dati del datastore, recupera l'ID datastore.
Chiama il metodo
recrawlUris
utilizzando il campouris
per specificare ogni pagina web da sottoporre a 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 Google Cloud progetto.DATA_STORE_ID
: l'ID del datastore Vertex AI Search.URIS
: l'elenco delle pagine web che vuoi scansionare, 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 di
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 datastore, è un'operazione a lunga esecuzione che viene eseguita fino a quando non viene eseguita la scansione delle pagine web specificate o fino a quando non si verifica il timeout dopo 24 ore, a seconda di quale evento 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 oppure (2) L'operazione è scaduta prima che tutte le tue pagine web fossero sottoposte a scansione. Se recrawlUris
va in timeout, puoi chiamarlo
di nuovo, 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 datastore. Se hai già l'ID del tuo datastore, vai al passaggio successivo.
Nella console Google Cloud , vai alla pagina AI Applications e nel menu di navigazione, fai clic su Datastore.
Fai clic sul nome del tuo datastore.
Nella pagina Dati del datastore, recupera l'ID datastore.
Esegui 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 Google Cloud progetto.OPERATION_NAME
: il nome dell'operazione, riportato nel camponame
restituito nella chiamata al metodorecrawlUris
in Eseguire nuovamente la scansione delle pagine web nel datastore. 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 a eseguire il polling.
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 della 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 che i metadati vengono aggiornati ogni cinque minuti fino al termine dell'operazione.validUrisCount
: indica che hai specificato 4000 URI validi nella chiamata al metodorecrawlUris
.successCount
: indica che la scansione di 2215 URI è stata eseguita correttamente.pendingCount
: indica che 1785 URI non sono ancora stati sottoposti a scansione.done
: un valore difalse
indica che l'operazione di nuova scansione è ancora in corso.
Se una risposta indica che non sono presenti URI in attesa (non viene restituito alcun campo
pendingCount
) e l'operazione di nuova scansione è terminata, le tue pagine web vengono sottoposte a scansione. Interrompi il polling: 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 della 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 che i metadati vengono aggiornati ogni cinque minuti fino al termine dell'operazione.validUrisCount
: indica che hai specificato 4000 URI validi nella chiamata al metodorecrawlUris
.successCount
: indica che è stata eseguita la scansione di 4000 URI.done
: un valore ditrue
indica che l'operazione di nuova scansione è terminata.
Se una risposta indica che sono presenti URI in attesa e l'operazione di nuova scansione è stata completata, significa che l'operazione di nuova scansione è scaduta (dopo 24 ore) prima che tutte le tue pagine web siano state scansionate. Ricomincia da Eseguire nuovamente la scansione delle pagine web nel 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 è stata avviata 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 finché l'operazione non viene completata.validUrisCount
. Indica che hai specificato 10.000 URI validi nella chiamata al metodorecrawlUris
.successCount
. Indica che 9988 URI sono stati sottoposti a scansione correttamente.pendingCount
. Indica che 12 URI non sono ancora stati sottoposti a scansione.done
. Un valore pari atrue
indica che l'operazione di nuova scansione è terminata.failedUris
. Un elenco di URI che non sono stati sottoposti a scansione prima del timeout dell'operazione di nuova scansione.failureInfo
. Informazioni sugli URI per cui non è stato possibile eseguire la scansione. Vengono restituiti al massimo dieci valori dell'arrayfailureInfo
, anche se l'analisi di più di dieci URI non è riuscita.errorMessage
. Il motivo per cui l'URI non è stato sottoposto a scansione, dicorpusType
. 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 nuova scansione, se l'operazione di nuova scansione 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. La seguente tabella elenca i messaggi di errore,
indica 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 tutti gli errori temporanei. È possibile riprovare a correggere tutti gli errori non temporanei dopo
aver implementato la soluzione.
Messaggio di errore | Si tratta di un errore temporaneo? | Azione prima di riprovare la scansione |
---|---|---|
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 file robots.txt del sito |
No | Sblocca l'URI nel file robots.txt del tuo sito web, assicurati che l'user agent Googlebot possa eseguire la scansione del sito web
e riprova a eseguire la 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 che hai specificato quando chiami il metodo recrawlUris . Assicurati di fornire l'URI letterale e non un pattern URI. |
Timeout della scansione | 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 . |
L'URL non è stato seguito 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 che hai 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 delle 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 viene eseguita la datastore del tuo sito web durante un aggiornamento automatico o manuale, se una pagina web risponde con un codice di errore client 4xx
o un codice di errore server 5xx
, la pagina web che non risponde viene rimossa dall'indice.