Настройка параметров коннектора

В состав Google Cloud Search SDK входят предоставленные Google параметры конфигурации для всех коннекторов. Настройка этих параметров может оптимизировать индексирование данных. В этом руководстве перечислены распространенные проблемы индексирования и параметры для их решения.

Низкая пропускная способность индексирования для FullTraversalConnector

В таблице ниже перечислены настройки для повышения пропускной способности FullTraversalConnector :

Параметр Описание По умолчанию Предложенные изменения
traverse.partitionSize Количество элементов ApiOperation() , обработанных партиями. SDK ожидает завершения обработки каждой части запроса, прежде чем получать новые данные. 50 Увеличьте значение до 1000 или более, если у вас достаточно памяти.
batch.batchSize Количество запросов, объединенных в одну группу. 10 Попробуйте уменьшить размер партии.
batch.maxActiveBatches Допустимое количество одновременно обрабатываемых партий. 20 Если вы уменьшите batchSize , увеличьте его, используя формулу: (partitionSize / batchSize) + 50 .
traverse.threadPoolSize Количество потоков для параллельной обработки. 50 Увеличьте это число на кратные 10.

Рекомендуется использовать setRequestMode() для переключения между ASYNCHRONOUS и SYNCHRONOUS режимами запросов API.

Низкая пропускная способность индексирования для ListTraversalConnector

Объект ListTraversalConnector по умолчанию использует один обработчик. Для повышения пропускной способности создайте несколько обработчиков для определенных статусов элементов (например, NEW_ITEM , MODIFIED ).

Параметр Описание По умолчанию Изменять
repository.traversers Создает отдельные обходчики с уникальными именами (например, t1, t2 ). Один путешественник Добавить больше траверсеров.
traversers. t1 .hostload Количество потоков для одновременной индексации элементов. 5 Попробуйте значения 10 или больше.
schedule.pollQueueIntervalSecs Количество секунд, которое нужно подождать перед повторным опросом пустой очереди. 10 Попробуйте снизить значение до 1.
traverser. t1 .pollRequest.statuses Статусы для индексации (например, NEW_ITEM ). Все Для разных состояний используйте разные обходчики.

Тайм-ауты или прерывания SDK

Если при загрузке больших файлов возникают ошибки таймаута, увеличьте время ожидания, используя traverser.timeout= seconds (по умолчанию — 60 секунд). Вы также можете увеличить время ожидания запросов к API:

Параметр Описание По умолчанию
indexingService.connectTimeoutSeconds Истекло время ожидания подключения для запросов к API. 120-е
indexingService.readTimeoutSeconds Истекло время ожидания для запросов к API. 120-е