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 enumeran 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 Son los lotes simultáneos permitidos. 20 Si disminuyes batchSize, aumenta este valor con (partitionSize / batchSize) + 50.
traverse.threadPoolSize Cantidad de subprocesos para el procesamiento paralelo. 50 Aumenta este valor en múltiplos de 10.

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

Baja capacidad de procesamiento de indexación para ListTraversalConnector

Un ListTraversalConnector usa un solo objeto de recorrido 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 traversers.
traversers.t1.hostloadCantidad de subprocesos para indexar elementos de forma simultánea.5Prueba con valores de 10 o más.
schedule.pollQueueIntervalSecsCantidad de segundos que se espera 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 solicitudes a la API. 120
indexingService.readTimeoutSeconds Tiempo de espera de lectura para solicitudes a la API. 120