コネクタ設定の調整

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 はデフォルトで 1 つのトラバーサーを使用します。スループットを高めるには、特定のアイテム ステータス(NEW_ITEMMODIFIED など)。

設定説明デフォルト変更
repository.traversers一意の名前(t1, t2)。1 つの走査トラバーサーを追加します。
traversers.t1.hostloadアイテムを同時にインデックス登録するスレッドの数。510 以上の値を試してください。
schedule.pollQueueIntervalSecs空のキューを再度ポーリングするまでの待機時間(秒単位)。101 に下げてみてください。
traverser.t1.pollRequest.statusesインデックス登録するステータス(NEW_ITEM)。すべてステータスごとに異なる走査を使用します。

SDK のタイムアウトまたは割り込み

大きなファイルをアップロードするときにタイムアウトが発生する場合は、traverser.timeout=seconds を使用してタイムアウトを増やします(デフォルトは 60 秒)。API リクエストのタイムアウトを増やすこともできます。

パラメータ 説明 デフォルト
indexingService.connectTimeoutSeconds API リクエストの接続タイムアウト。 120 秒
indexingService.readTimeoutSeconds API リクエストの読み取りタイムアウト。 120 秒