Paramètres du connecteur de réglage

Le SDK Google Cloud Search inclut des paramètres de configuration fournis par Google pour tous les connecteurs. Le réglage de ces paramètres peut simplifier l'indexation des données. Ce guide répertorie les problèmes d'indexation courants et les paramètres permettant de les résoudre.

Débit d'indexation faible pour FullTraversalConnector

Le tableau suivant répertorie les paramètres permettant d'améliorer le débit d'un FullTraversalConnector :

Paramètre Description Par défaut Modification suggérée
traverse.partitionSize Nombre d'éléments ApiOperation() traités par lots. Le SDK attend qu'une partition soit terminée avant d'en récupérer d'autres. 50 Augmentez cette valeur à 1 000 ou plus si vous disposez de suffisamment de mémoire.
batch.batchSize Nombre de requêtes regroupées. 10 Essayez de réduire la taille du lot.
batch.maxActiveBatches Nombre de lots simultanés autorisés. 20 Si vous réduisez batchSize, augmentez cette valeur à l'aide de (partitionSize / batchSize) + 50.
traverse.threadPoolSize Nombre de threads pour le traitement en parallèle. 50 Augmentez-le par multiples de 10.

Envisagez d'utiliser setRequestMode() pour basculer entre les modes de requête d'API ASYNCHRONOUS et SYNCHRONOUS.

Débit d'indexation faible pour ListTraversalConnector

Un ListTraversalConnector utilise un traverser par défaut. Pour augmenter le débit, créez plusieurs traversers pour des états d'articles spécifiques (par exemple, NEW_ITEM, MODIFIED).

ParamètreDescriptionPar défautModifier
repository.traversersCrée des traversées individuelles avec des noms uniques (par exemple, t1, t2).Un seul traversierAjoutez d'autres traversiers.
traversers.t1.hostloadNombre de threads permettant d'indexer simultanément les éléments.5Essayez des valeurs de 10 ou plus.
schedule.pollQueueIntervalSecsNombre de secondes d'attente avant d'interroger à nouveau une file d'attente vide.10Essayez de le baisser à 1.
traverser.t1.pollRequest.statusesÉtats à indexer (par exemple, NEW_ITEM).TousUtilisez différents traversers pour différents états.

Délai d'attente ou interruption du SDK

Si vous rencontrez des délais avant expiration lorsque vous importez des fichiers volumineux, augmentez le délai avant expiration à l'aide de traverser.timeout=seconds (la valeur par défaut est de 60 secondes). Vous pouvez également augmenter les délais d'expiration des requêtes API :

Paramètre Description Par défaut
indexingService.connectTimeoutSeconds Délai avant expiration de la connexion pour les requêtes API. 120 s
indexingService.readTimeoutSeconds Délai avant expiration de la lecture pour les requêtes API. 120 s