調整連接器設定

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 秒