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 lot. 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 la formule suivante : (partitionSize / batchSize) + 50. |
traverse.threadPoolSize |
Nombre de threads pour le traitement parallèle. | 50 | Augmentez cette valeur par multiples de 10. |
Envisagez d'utiliser setRequestMode() pour basculer entre ASYNCHRONOUS et
SYNCHRONOUS modes de requête API.
Débit d'indexation faible pour ListTraversalConnector
Un ListTraversalConnector utilise un seul traverser par défaut. Pour augmenter le débit, créez plusieurs traversers pour des états d'élément spécifiques (par exemple, NEW_ITEM, MODIFIED).
| Paramètre | Description | Par défaut | Modifier |
|---|---|---|---|
repository.traversers | Crée des traversers individuels
avec des noms uniques (par exemple, t1, t2). | Un traverser | Ajoutez d'autres traversers. |
traversers.t1.hostload | Nombre de threads pour indexer simultanément des éléments. | 5 | Essayez des valeurs supérieures ou égales à 10 ou supérieures. |
schedule.pollQueueIntervalSecs | Nombre de secondes à attendre avant d'interroger à nouveau une file d'attente vide. | 10 | Essayez de réduire cette valeur à 1. |
traverser.t1.pollRequest.statuses | États
à indexer (par exemple, NEW_ITEM). | Tous | Utilisez différents traversers pour différents états. |
Délais d'attente ou interruptions du SDK
Si vous rencontrez des délais d'attente lors de l'importation de fichiers volumineux, augmentez le délai d'attente
à l'aide de traverser.timeout=seconds
(la valeur par défaut est de 60 secondes). Vous pouvez également augmenter les délais d'attente des requêtes API :
| Paramètre | Description | Par défaut |
|---|---|---|
indexingService.connectTimeoutSeconds |
Délai d'attente de connexion pour les requêtes API. | 120s |
indexingService.readTimeoutSeconds |
Délai d'attente de lecture pour les requêtes API. | 120s |