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ètre | Description | Par défaut | Modifier |
|---|---|---|---|
repository.traversers | Crée des traversées individuelles avec des noms uniques (par exemple, t1, t2). | Un seul traversier | Ajoutez d'autres traversiers. |
traversers.t1.hostload | Nombre de threads permettant d'indexer simultanément les éléments. | 5 | Essayez des valeurs de 10 ou plus. |
schedule.pollQueueIntervalSecs | Nombre de secondes d'attente avant d'interroger à nouveau une file d'attente vide. | 10 | Essayez de le baisser à 1. |
traverser.t1.pollRequest.statuses | États à indexer (par exemple, NEW_ITEM). | Tous | Utilisez 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 |