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() を使用して ASYNCHRONOUS と SYNCHRONOUS の API リクエスト モードを切り替えることを検討してください。
ListTraversalConnector のインデックス登録のスループットが低い
ListTraversalConnector はデフォルトで 1 つのトラバーサーを使用します。スループットを高めるには、特定のアイテム ステータス(NEW_ITEM、MODIFIED など)。
| 設定 | 説明 | デフォルト | 変更 |
|---|---|---|---|
repository.traversers | 一意の名前(t1, t2)。 | 1 つの走査 | トラバーサーを追加します。 |
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 秒 |