Atualizar páginas da Web

Se seu repositório de dados usa a pesquisa básica em sites, a atualização dos o índice da loja espelha a atualização disponível no Pesquisa Google.

Se a indexação avançada de sites estiver ativada no seu repositório de dados, o as páginas da Web no seu repositório de dados são atualizadas das seguintes maneiras:

  • Atualização automática
  • Atualização manual

Nesta página, descrevemos esses dois métodos.

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 você quiser atualizar páginas da Web específicas em um repositório de dados com indexação avançada de sites estiver ativada, pode chamar o método recrawlUris. Use o campo uris para especificar cada página da Web que você quer rastrear. O método recrawlUris é um recurso de longa duração operação executada até que as páginas da Web especificadas sejam ou até expirar após 24 horas, o que ocorrer primeiro. Se o método recrawlUris expirar, você poderá chamar o método novamente, especificando as páginas da Web que ainda precisam ser rastreadas. É possível consultar o método operations.get para monitorar o status da operação de novo rastreamento.

Limites para o novo rastreamento

Há limites para a frequência e a quantidade de páginas da Web que você pode rastrear por vez:

  • Chamadas por dia. O número máximo de chamadas para recrawlUris permitido é de cinco por dia, por projeto.
  • Páginas da Web por chamada. O número máximo de valores uris que podem ser especificados com uma chamada para o método recrawlUris é 10.000.

Refazer a rastreamento das páginas da Web no repositório de dados

Você pode rastrear manualmente páginas específicas em um repositório de dados que tenha a indexação avançada de sites estiver ativada;

REST

Para usar a linha de comando para rastrear páginas da Web específicas no armazenamento de dados, siga estas etapas:

  1. Encontre o ID do repositório de dados. Se você já tem seu repositório de dados ID, pule para a próxima etapa.

    1. No console do Google Cloud, acesse a página Criador de agentes e, no menu de navegação, clique em Repositórios de dados.

      Acesse a página "Repositórios de dados"

    2. Clique no nome do seu repositório de dados.

    3. Na página Dados do seu repositório de dados, encontre o ID do repositório.

  2. Chame o método recrawlUris usando o campo uris para especificar cada página da Web a ser rastreada. Cada uri representa um único página, mesmo que ela contenha asteriscos (*). Padrões de curinga não são suporte.

    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 projeto do Google Cloud.
    • 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"
      }
    }
    
  3. Salve o valor name como entrada para a operação operations.get ao monitorar o status da operação de novo rastreamento.

Monitorar o status da operação de novo rastreamento

O método recrawlUris, que você usa para rastrear páginas da Web em um repositório store, é uma operação de longa duração executada até que as páginas da Web especificadas sejam rastreadas. ou até expirar após 24 horas, o que ocorrer primeiro. Você pode monitorar status dessa operação de longa duração pesquisando o método operations.get, especificando o valor name retornado pelo recrawlUris. Continue a fazer 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 suas páginas da Web fossem rastreadas. Se recrawlUris expirar, você pode chamá-lo especificando os sites que não foram rastreados.

REST

Para usar a linha de comando para monitorar o status de uma operação de novo rastreamento, siga estas etapas:

  1. 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.

    1. No console do Google Cloud, acesse a página Agent Builder e No menu de navegação, clique em Repositórios de dados.

      Acessar a página "Repositórios de dados"

    2. Clique no nome do seu repositório de dados.

    3. Na página Dados do seu repositório de dados, encontre o ID do repositório.

  2. Consultar 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:

  3. Avalie cada resposta.

    • Se uma resposta indicar que há URIs pendentes e o novo rastreamento não for concluída, suas páginas da Web ainda estão sendo rastreadas. Continue a fazer a pesquisa.

      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 forma:

      • 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 foi atualizado. indica que os metadados são atualizados a cada cinco minutos até que se a operação for concluída.
      • validUrisCount: indica que você especificou 4.000 URIs válidos na chamada para o método recrawlUris.
      • successCount: indica que 2.215 URIs foram rastreados corretamente.
      • pendingCount: indica que 1.785 URIs ainda não foram rastreados.
      • done: um valor de false indica que a operação de novo rastreamento ainda está em andamento.

    • Se uma resposta indicar que não há URIs pendentes (nenhum campo pendingCount é retornado) e a operação de novo rastreamento for concluída, suas páginas da Web serão rastreadas. Interrompa a pesquisa. Você pode encerrar esse 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 forma:

      • 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 foi atualizado. indica que os metadados são atualizados a cada cinco minutos até que se a operação for concluída.
      • validUrisCount: indica que você especificou 4.000 URIs válidos na chamada para o método recrawlUris.
      • successCount: indica que 4.000 URIs foram rastreados corretamente.
      • done: um valor de true indica que a operação de novo rastreamento foi concluída.
  4. Se uma resposta indicar que há URIs pendentes e a operação de novo rastreamento for concluída, a operação de novo rastreamento terá expirado (após 24 horas) antes que todas as suas páginas da Web tenham sido rastreadas. Comece de novo em Recravar as páginas da Web no repositório de dados. Use os valores failedUris na resposta operations.get para os valores no campo uris na nova chamada para o método recrawlUris.

    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 dos 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 se a operação for concluída.
    • validUrisCount: Indica que você especificou 10.000 URIs válidos em sua chamada para o método recrawlUris.
    • successCount. Indica que 9.988 URIs foram rastreados.
    • pendingCount: Indica que 12 URIs ainda não foram rastreados.
    • done. Um valor de true indica que a operação de novo rastreamento foi concluída.
    • failedUris: Uma lista de URIs que não foram rastreados antes do novo rastreamento tempo limite da operação.
    • failureInfo: Informações sobre URIs com falha no rastreamento. No máximo, dez valores da matriz failureInfo são retornados, mesmo se mais de dez Falha ao rastrear os URIs.
    • errorMessage: o motivo pelo qual um URI não foi rastreado, por corpusType. Para 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 você tem o índice mais recente.

Mensagens de erro

Quando você monitora o status da operação de novo rastreamento, se ela atingir o tempo limite enquanto você está pesquisando o método operations.get, o 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 podem ser realizadas antes de tentar novamente o método recrawlUris. Tente de novo todos os erros temporários imediatamente. Todos os erros temporários podem ser repetidos após a implementação da medida judicial.

Mensagem de erro É um erro temporário? Ação antes de tentar novamente o rastreamento
A página foi rastreada, mas não foi indexada pela Vertex AI para Pesquisa em até 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 site, verifique se o user agent do Googlebot tem permissão para rastrear o site e tente fazer o rastreamento novamente. Para mais informações, consulte Como criar 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.
O rastreamento expirou 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.
Não foi possível seguir o URL pelo rastreador do Google Não Se houver vários redirecionamentos, use o URI do último redirecionamento e tente novamente
Página não encontrada (404) Não Verifique o URI que você especificou ao chamar o método recrawlUris. Forneça o URI literal, não um padrão de URI.

Toda página que responder com um código de erro "4xx" será removida do índice.

A página exige autenticação Não A indexação avançada de sites não oferece suporte ao 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ê atualizar 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 responder 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 será removida do índice.