The Google Cloud Search SDK includes Google-supplied configuration parameters for all connectors. Tuning these settings can streamline data indexing. This guide lists common indexing issues and the settings to resolve them.
Низкая пропускная способность индексирования для FullTraversalConnector
В таблице ниже перечислены настройки для повышения пропускной способности FullTraversalConnector :
| Параметр | Описание | По умолчанию | Suggested Change |
|---|---|---|---|
traverse.partitionSize | Количество элементов ApiOperation() , обработанных партиями. SDK ожидает завершения обработки каждой части запроса, прежде чем получать новые данные. | 50 | Увеличьте значение до 1000 или более, если у вас достаточно памяти. |
batch.batchSize | The number of requests batched together. | 10 | Try lowering the batch size. |
batch.maxActiveBatches | Allowable concurrent batches. | 20 | Если вы уменьшите batchSize , увеличьте его, используя формулу: (partitionSize / batchSize) + 50 . |
traverse.threadPoolSize | Number of threads for parallel processing. | 50 | Increase this by multiples of 10. |
Рекомендуется использовать setRequestMode() для переключения между ASYNCHRONOUS и SYNCHRONOUS режимами запросов API.
Низкая пропускная способность индексирования для ListTraversalConnector
Объект ListTraversalConnector по умолчанию использует один обработчик. Для повышения пропускной способности создайте несколько обработчиков для определенных статусов элементов (например, NEW_ITEM , MODIFIED ).
| Параметр | Описание | По умолчанию | Изменять |
|---|---|---|---|
repository.traversers | Создает отдельные обходчики с уникальными именами (например, t1, t2 ). | One traverser | Add more traversers. |
traversers. t1 .hostload | Number of threads to simultaneously index items. | 5 | Try values of 10 or greater. |
schedule.pollQueueIntervalSecs | Количество секунд, которое нужно подождать перед повторным опросом пустой очереди. | 10 | Try lowering to 1. |
traverser. t1 .pollRequest.statuses | Statuses to index (eg, NEW_ITEM ). | Все | Use different traversers for different statuses. |
SDK timeouts or interrupts
Если при загрузке больших файлов возникают ошибки таймаута, увеличьте время ожидания, используя traverser.timeout= seconds (по умолчанию — 60 секунд). Вы также можете увеличить время ожидания запросов к API:
| Параметр | Описание | По умолчанию |
|---|---|---|
indexingService.connectTimeoutSeconds | Connect timeout for API requests. | 120-е |
indexingService.readTimeoutSeconds | Read timeout for API requests. | 120-е |