Se o repositório de dados usar a pesquisa básica de sites, a atualização do índice da sua loja vai refletir a atualização disponível na Pesquisa Google.
Se a indexação avançada de sites estiver ativa no seu repositório de dados, as páginas da Web dele serão atualizadas das seguintes maneiras:
- Atualização automática
- Atualização manual
- Atualização com base em sitemap
Esta página descreve a atualização automática e manual. Para entender e implementar a atualização baseada em sitemap, consulte Indexar e atualizar de acordo com o sitemap.
Atualização automática
A Vertex AI para Pesquisa executa a atualização automática da seguinte maneira:
- Depois de criar um repositório de dados, ele gera um índice inicial para as páginas incluídas.
- Após a indexação inicial, ela indexa todas as páginas recém-descobertas e rastreia novamente as páginas atuais da melhor maneira possível.
- Ela atualiza regularmente os repositórios de dados que encontram uma taxa de consulta de 50 consultas/30 dias.
Atualização manual
Se quiser atualizar páginas da Web específicas em um repositório de dados com a indexação avançada de sites ativada, chame o método recrawlUris
. Use o campo uris
para especificar cada
página da Web que você quer rastrear. O método recrawlUris
é uma operação de longa duração que é executada até que as páginas da Web especificadas sejam rastreadas ou até que o tempo limite seja atingido após 24 horas, o que ocorrer primeiro. Se o
método recrawlUris
expirar, chame-o novamente, especificando as páginas da Web
que ainda precisam ser rastreadas. É possível pesquisar o método operations.get
para monitorar o status da sua operação de recrastreamento.
Limites de recrawl
Há limites para a frequência e a quantidade de páginas da Web que podem ser rastreadas por vez:
- Chamadas por dia. O número máximo de chamadas para o método
recrawlUris
permitido é de 20 por dia, por projeto. - Páginas da Web por chamada. O número máximo de valores de
uris
que podem ser especificados com uma chamada ao métodorecrawlUris
é 10.000.
Rastrear novamente as páginas da Web no seu repositório de dados
É possível rastrear manualmente páginas da Web específicas em um repositório de dados com a indexação avançada de sites ativada.
REST
Para usar a linha de comando e rastrear páginas da Web específicas no seu repositório de dados, siga estas etapas:
Encontre o ID do repositório de dados. Se você já tiver o ID do repositório de dados, pule para a próxima etapa.
No console Google Cloud , acesse a página Aplicativos de IA e, no menu de navegação, clique em Repositórios de dados.
Clique no nome do seu repositório de dados.
Na página Dados do seu repositório de dados, encontre o ID do repositório.
Chame o método
recrawlUris
usando o campouris
para especificar cada página da Web que você quer rastrear. Cadauri
representa uma única página, mesmo que contenha asteriscos (*
). Padrões curinga não são aceitos.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] }'
Substitua:
PROJECT_ID
: o ID do seu Google Cloud projeto.DATA_STORE_ID
: o ID do repositório de dados da Vertex AI para Pesquisa.URIS
: a lista de páginas da Web que você quer rastrear. Por exemplo,"https://example.com/page-1", "https://example.com/page-2", "https://example.com/page-3"
.
O resultado será assim:
{ "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" } }
Salve o valor
name
como entrada para a operaçãooperations.get
ao monitorar o status da sua operação de recrawl.
Monitorar o status da operação de recrawl
O método recrawlUris
, que você usa para rastrear páginas da Web em um repositório de dados, é uma operação de longa duração que é executada até que as páginas da Web especificadas sejam rastreadas ou até que o tempo limite seja atingido após 24 horas, o que ocorrer primeiro. Para monitorar o status dessa operação de longa duração, pesquise o método operations.get
, especificando o valor name
retornado pelo método recrawlUris
. Continue a pesquisa até que a resposta indique que:
(1) Todas as suas páginas da Web foram rastreadas ou (2) A operação expirou antes que todas as
páginas da Web fossem rastreadas. Se recrawlUris
atingir o tempo limite, chame-o
de novo, especificando os sites que não foram rastreados.
REST
Para usar a linha de comando e monitorar o status de uma operação de recrastreamento, siga estas etapas:
Encontre o ID do repositório de dados. Se você já tiver o ID do repositório de dados, pule para a próxima etapa.
No console Google Cloud , acesse a página Aplicativos de IA e, no menu de navegação, clique em Repositórios de dados.
Clique no nome do seu repositório de dados.
Na página Dados do seu repositório de dados, encontre o ID do repositório.
Faça uma pesquisa com o método
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"
Substitua:
PROJECT_ID
: o ID do seu Google Cloud projeto.OPERATION_NAME
: o nome da operação, encontrado no camponame
retornado na sua chamada para o métodorecrawlUris
em Rastrear novamente as páginas da Web no seu repositório de dados. Também é possível conferir o nome da operação listando operações de longa duração.
Avalie cada resposta.
Se uma resposta indicar que há URIs pendentes e a operação de recrawl não for concluída, suas páginas da Web ainda estarão sendo rastreadas. Continue polling.
Exemplo
{ "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", } }
Os campos de resposta podem ser descritos da seguinte maneira:
createTime
: indica o horário em que a operação de longa duração foi iniciada.updateTime
: indica a última vez que os metadados da operação de longa duração foram atualizados. Indica que os metadados são atualizados a cada cinco minutos até que a operação seja concluída.validUrisCount
: indica que você especificou 4.000 URIs válidos na chamada do métodorecrawlUris
.successCount
: indica que 2.215 URIs foram rastreados com sucesso.pendingCount
: indica que 1.785 URIs ainda não foram rastreados.done
: um valor defalse
indica que a operação de recrawl ainda está em andamento.
Se uma resposta indicar que não há URIs pendentes (nenhum campo
pendingCount
é retornado) e a operação de recrawl for concluída, suas páginas da Web serão rastreadas. Pare de fazer pesquisas. Você pode sair deste procedimento.Exemplo
{ "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" } }
Os campos de resposta podem ser descritos da seguinte maneira:
createTime
: indica o horário em que a operação de longa duração foi iniciada.updateTime
: indica a última vez que os metadados da operação de longa duração foram atualizados. Indica que os metadados são atualizados a cada cinco minutos até que a operação seja concluída.validUrisCount
: indica que você especificou 4.000 URIs válidos na chamada do métodorecrawlUris
.successCount
: indica que 4.000 URIs foram rastreados com sucesso.done
: um valor detrue
indica que a operação de recrawl foi concluída.
Se uma resposta indicar que há URIs pendentes e a operação de recrawl for concluída, isso significa que a operação atingiu o tempo limite (após 24 horas) antes que todas as suas páginas da Web fossem rastreadas. Comece de novo em Rastrear novamente as páginas da Web no seu repositório de dados. Use os valores
failedUris
na respostaoperations.get
para os valores no campouris
na nova chamada ao métodorecrawlUris
.Exemplo.
{ "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." } ] } ] } }
Confira algumas descrições de campos de resposta:
createTime
. O horário em que a operação de longa duração foi iniciada.updateTime
. A última vez que os metadados da operação de longa duração foram atualizados. Os metadados são atualizados a cada cinco minutos até que a operação seja concluída.validUrisCount
. Indica que você especificou 10.000 URIs válidos na chamada para o métodorecrawlUris
.successCount
. Indica que 9.988 URIs foram rastreados com sucesso.pendingCount
. Indica que 12 URIs ainda não foram rastreados.done
. Um valor detrue
indica que a operação de recrawl foi concluída.failedUris
. Uma lista de URIs que não foram rastreados antes do tempo limite da operação de rastreamento.failureInfo
. Informações sobre URIs que não puderam ser rastreados. No máximo, dez valores de matrizfailureInfo
são retornados, mesmo que mais de dez URIs não tenham sido rastreados.errorMessage
. O motivo pelo qual um URI não foi rastreado, porcorpusType
. Para mais informações, consulte Mensagens de erro.
Atualização oportuna
O Google recomenda que você faça uma atualização manual nas páginas novas e atualizadas para garantir que tenha o índice mais recente.
Mensagens de erro
Ao monitorar o status da operação de recrawl, se ela atingir o tempo limite enquanto você
consulta o método operations.get
, operations.get
vai retornar mensagens de erro para
páginas da Web que não foram rastreadas. A tabela a seguir lista as mensagens de erro,
se o erro é transitório (um erro temporário que se resolve sozinho) e as
ações que você pode realizar antes de tentar novamente o método recrawlUris
. É possível tentar de novo
todos os erros transitórios imediatamente. Todos os erros não permanentes podem ser repetidos após a implementação da correção.
Mensagem de erro | É um erro temporário? | Ação antes de tentar rastrear novamente |
---|---|---|
A página foi rastreada, mas não foi indexada pela Vertex AI para Pesquisa em 24 horas | Sim | Use os valores failedUris na resposta operations.get para os valores no campo uris ao chamar o método recrawlUris . |
O rastreamento foi bloqueado pelo robots.txt do site |
Não | Desbloqueie o URI no arquivo robots.txt do seu site, verifique se o user agent Googlebot tem permissão para rastrear o site e tente fazer o rastreamento novamente. Para mais informações, consulte
Como escrever e enviar um arquivo robots.txt.
Se não for possível acessar o arquivo robots.txt , entre em contato com o proprietário do domínio. |
A página está inacessível | Não | Verifique o URI especificado ao chamar o método recrawlUris . Forneça o URI literal, não um padrão de URI. |
Tempo limite de rastreamento atingido | Sim | Use os valores failedUris na resposta operations.get para os valores no campo uris ao chamar o método recrawlUris . |
A página foi rejeitada pelo rastreador do Google | Sim | Use os valores failedUris na resposta operations.get para os valores no campo uris ao chamar o método recrawlUris . |
O rastreador do Google não conseguiu seguir o URL | Não | Se houver vários redirecionamentos, use o URI do último e tente de novo. |
A página não foi encontrada (404) | Não | Verifique o URI especificado ao chamar o método recrawlUris . Forneça o URI literal, não um padrão de URI.
Qualquer página que responda com um código de erro "4xx" é removida do índice. |
A página exige autenticação | Não | A indexação avançada de sites não é compatível com a rastreamento de páginas da Web que exigem autenticação. |
Como as páginas excluídas são tratadas
Quando uma página é excluída, o Google recomenda que você atualize manualmente os URLs excluídos.
Quando o repositório de dados do seu site é rastreado durante uma atualização automática
ou manual, se uma página da Web responde com um código de erro do cliente 4xx
ou um código de erro do servidor 5xx
, a página da Web que não responde é removida do
índice.