调整连接器设置

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()ASYNCHRONOUSSYNCHRONOUS API 请求模式之间切换。

ListTraversalConnector 的索引吞吐量较低

ListTraversalConnector 默认使用一个遍历器。如需提高吞吐量,请为特定项状态(例如 NEW_ITEMMODIFIED)创建多个遍历器。

设置说明默认更改
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 秒