调整连接器设置

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 秒