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.

Baixa capacidade de indexação para FullTraversalConnector

A tabela a seguir lista as configurações para melhorar a capacidade 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 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 os modos de solicitação de API ASYNCHRONOUS e SYNCHRONOUS.

Baixa capacidade de indexação para ListTraversalConnector

Um ListTraversalConnector usa um traverser por padrão. Para aumentar a capacidade de processamento, crie vários rastreadores 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 percorredorAdicione mais traversers.
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 a serem indexados (por exemplo, NEW_ITEM).TodosUse diferentes atravessadores para diferentes status.

Tempos limites ou interrupções do SDK

Se você tiver problemas de tempo limite ao fazer upload de arquivos grandes, aumente o tempo limite usando traverser.timeout=seconds (o padrão é 60 segundos). Também é possível aumentar os tempos limite de solicitação da API:

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