Regola le impostazioni del connettore

L'SDK Google Cloud Search include parametri di configurazione forniti da Google per tutti i connettori. La regolazione di queste impostazioni può semplificare l'indicizzazione dei dati. Questa guida elenca i problemi di indicizzazione più comuni e le impostazioni per risolverli.

Velocità effettiva di indicizzazione bassa per FullTraversalConnector

La tabella seguente elenca le impostazioni per migliorare il throughput per un FullTraversalConnector:

Impostazione Descrizione Predefinito Modifica suggerita
traverse.partitionSize Il numero di elementi ApiOperation() elaborati in batch. L'SDK attende il completamento di una partizione prima di recuperarne altre. 50 Aumenta a 1000 o più se hai memoria sufficiente.
batch.batchSize Il numero di richieste raggruppate. 10 Prova a ridurre le dimensioni del batch.
batch.maxActiveBatches Batch simultanei consentiti. 20 Se abbassi batchSize, aumentalo utilizzando (partitionSize / batchSize) + 50.
traverse.threadPoolSize Numero di thread per l'elaborazione parallela. 50 Aumenta questo valore di multipli di 10.

Valuta la possibilità di utilizzare setRequestMode() per passare dalla modalità di richiesta API ASYNCHRONOUS a quella SYNCHRONOUS e viceversa.

Throughput di indicizzazione basso per ListTraversalConnector

Un ListTraversalConnector utilizza un traverser per impostazione predefinita. Per aumentare il throughput, crea più traverser per stati specifici degli articoli (ad es. NEW_ITEM, MODIFIED).

ImpostazioneDescrizionePredefinitoCambia
repository.traversersCrea traverser individuali con nomi univoci (ad es. t1, t2).Un traversatoreAggiungi altri traverser.
traversers.t1.hostloadNumero di thread per indicizzare contemporaneamente gli elementi.5Prova con valori pari o superiori a 10.
schedule.pollQueueIntervalSecsSecondi di attesa prima di eseguire nuovamente il polling di una coda vuota.10Prova a impostare il valore su 1.
traverser.t1.pollRequest.statusesStati da indicizzare (ad es. NEW_ITEM).TuttiUtilizza traverser diversi per stati diversi.

Timeout o interruzioni dell'SDK

Se si verificano timeout durante il caricamento di file di grandi dimensioni, aumenta il timeout utilizzando traverser.timeout=seconds (il valore predefinito è 60 secondi). Puoi anche aumentare i timeout delle richieste API:

Parametro Descrizione Predefinito
indexingService.connectTimeoutSeconds Timeout connessione per le richieste API. 120s
indexingService.readTimeoutSeconds Timeout di lettura per le richieste API. 120s