調整連接器設定

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 秒