Ajustar as configurações do conector

O SDK do Google Cloud Search inclui parâmetros de configuração fornecidos pelo Google para todos os conectores. Ajustar essas configurações pode otimizar a indexação de dados. Este guia lista problemas comuns de indexação e as configurações para resolvê-los.

Capacidade de indexação baixa para FullTraversalConnector

A tabela a seguir lista as configurações para melhorar a capacidade de processamento de um FullTraversalConnector:

Configuração Descrição Padrão Mudança sugerida
traverse.partitionSize O número de itens ApiOperation() processados em lotes. O SDK aguarda a conclusão de uma partição antes de buscar mais. 50 Aumente para 1.000 ou mais se você tiver memória suficiente.
batch.batchSize O número de solicitações em lote. 10 Tente diminuir o tamanho do lote.
batch.maxActiveBatches Lotes simultâneos permitidos. 20 Se você diminuir batchSize, aumente esse valor usando: (partitionSize / batchSize) + 50.
traverse.threadPoolSize Número de linhas de execução para processamento paralelo. 50 Aumente esse valor em múltiplos de 10.

Considere usar setRequestMode() para alternar entre ASYNCHRONOUS e SYNCHRONOUS modos de solicitação de API.

Capacidade de processamento de indexação baixa para ListTraversalConnector

Um ListTraversalConnector usa um atravessador por padrão. Para aumentar a capacidade de processamento, crie vários atravessadores para status de itens específicos (por exemplo, NEW_ITEM, MODIFIED).

ConfiguraçãoDescriçãoPadrãoMudar
repository.traversersCria atravessadores individuais com nomes exclusivos (por exemplo, t1, t2).Um atravessadorAdicione mais atravessadores.
traversers.t1.hostloadNúmero de linhas de execução para indexar itens simultaneamente.5Tente valores de 10 ou mais.
schedule.pollQueueIntervalSecsSegundos para aguardar antes de pesquisar novamente uma fila vazia.10Tente diminuir para 1.
traverser.t1.pollRequest.statusesStatus para indexar (por exemplo, NEW_ITEM).TodosUse atravessadores diferentes para status diferentes.

Tempos limites ou interrupções do SDK

Se você tiver tempos limites ao fazer o upload de arquivos grandes, aumente o tempo limite usando traverser.timeout=seconds (o padrão é de 60 segundos). Você também pode aumentar os tempos limites de solicitação de API:

Parâmetro Descrição Padrão
indexingService.connectTimeoutSeconds Conecte o tempo limite para solicitações de API. 120s
indexingService.readTimeoutSeconds Leia o tempo limite para solicitações de API. 120s