Ajusta la configuración de los conectores

El SDK de Google Cloud Search incluye parámetros de configuración proporcionados por Google para todos los conectores. Ajustar esta configuración puede optimizar la indexación de datos. En esta guía, se muestran los problemas de indexación comunes y la configuración para resolverlos.

Baja capacidad de procesamiento de indexación para FullTraversalConnector

En la siguiente tabla, se muestra la configuración para mejorar la capacidad de procesamiento de un FullTraversalConnector:

Configuración Descripción Predeterminado Cambio sugerido
traverse.partitionSize Es la cantidad de elementos ApiOperation() procesados en lotes. El SDK espera a que se complete una partición antes de recuperar más. 50 Aumenta a 1,000 o más si tienes suficiente memoria.
batch.batchSize La cantidad de solicitudes agrupadas. 10 Intenta reducir el tamaño del lote.
batch.maxActiveBatches Lotes simultáneos permitidos. 20 Si reduces batchSize, aumenta este valor con (partitionSize / batchSize) + 50.
traverse.threadPoolSize Cantidad de subprocesos para el procesamiento en paralelo. 50 Aumenta este valor en múltiplos de 10.

Considera usar setRequestMode() para cambiar entre ASYNCHRONOUS y SYNCHRONOUS modos de solicitud a la API.

Baja capacidad de procesamiento de indexación para ListTraversalConnector

Un ListTraversalConnector usa un desviador de forma predeterminada. Para aumentar la capacidad de procesamiento, crea varios desviadores para estados de elementos específicos (p.ej., NEW_ITEM, MODIFIED).

ConfiguraciónDescripciónPredeterminadoCambiar
repository.traversersCrea desviadores individuales con nombres únicos (p.ej., t1, t2).Un desviadorAgrega más desviadores.
traversers.t1.hostloadCantidad de subprocesos para indexar elementos de forma simultánea.5Prueba valores de 10 o más.
schedule.pollQueueIntervalSecsSegundos que se deben esperar antes de volver a consultar una cola vacía.10Intenta bajar a 1.
traverser.t1.pollRequest.statusesEstados para indexar (p.ej., NEW_ITEM).TodosUsa diferentes desviadores para diferentes estados.

El SDK excede el tiempo de espera o se interrumpe

Si experimentas tiempos de espera agotados cuando subes archivos grandes, aumenta el tiempo de espera con traverser.timeout=seconds (el valor predeterminado es de 60 segundos). También puedes aumentar los tiempos de espera de las solicitudes a la API:

Parámetro Descripción Predeterminado
indexingService.connectTimeoutSeconds Tiempo de espera de conexión para las solicitudes a la API. 120s
indexingService.readTimeoutSeconds Tiempo de espera de lectura para las solicitudes a la API. 120s