Einstellungen für Connector anpassen

Das Google Cloud Search SDK enthält von Google bereitgestellte Konfigurationsparameter für alle Connectors. Durch Optimieren dieser Einstellungen kann die Datenindexierung beschleunigt werden. In diesem Leitfaden werden häufige Probleme bei der Indexierung und die Einstellungen zur Behebung dieser Probleme aufgeführt.

Niedriger Indexierungsdurchsatz für FullTraversalConnector

In der folgenden Tabelle sind die Einstellungen aufgeführt, mit denen Sie den Durchsatz für ein FullTraversalConnector verbessern können:

Einstellung Beschreibung Standard Vorgeschlagene Änderung
traverse.partitionSize Anzahl der ApiOperation()-Elemente, die in Batches verarbeitet werden. Das SDK wartet, bis eine Partition abgeschlossen ist, bevor weitere Elemente abgerufen werden. 50 Erhöhen Sie den Wert auf 1.000 oder mehr, wenn Sie genügend Arbeitsspeicher haben.
batch.batchSize Anzahl der zusammengefassten Anfragen. 10 Verringern Sie die Batchgröße.
batch.maxActiveBatches Zulässige Anzahl gleichzeitiger Batches. 20 Wenn Sie batchSize verringern, erhöhen Sie diesen Wert mit (partitionSize / batchSize) + 50.
traverse.threadPoolSize Anzahl der Threads für die parallele Verarbeitung. 50 Erhöhen Sie diesen Wert um ein Vielfaches von 10.

Sie können setRequestMode() verwenden, um zwischen ASYNCHRONOUS und SYNCHRONOUS API-Anfragemodi zu wechseln.

Niedriger Indexierungsdurchsatz für ListTraversalConnector

Ein ListTraversalConnector verwendet standardmäßig einen Traverser. Um den Durchsatz zu erhöhen, erstellen Sie mehrere Traverser für bestimmte Elementstatus (z.B. NEW_ITEM, MODIFIED).

EinstellungBeschreibungStandardÄndern
repository.traversersErstellt einzelne Traverser mit eindeutigen Namen (z.B. t1, t2).Ein TraverserFügen Sie weitere Traverser hinzu.
traversers.t1.hostloadAnzahl der Threads zum gleichzeitigen Indexieren von Elementen.5Verwenden Sie Werte von 10 oder höher.
schedule.pollQueueIntervalSecsWartezeit in Sekunden bevor eine leere Warteschlange noch einmal abgefragt wird.10Verringern Sie den Wert auf 1.
traverser.t1.pollRequest.statusesStatus , die indexiert werden sollen (z.B. NEW_ITEM).AlleVerwenden Sie für verschiedene Status unterschiedliche Traverser.

SDK-Zeitüberschreitungen oder -Unterbrechungen

Wenn beim Hochladen großer Dateien Zeitüberschreitungen auftreten, erhöhen Sie das Zeitlimit mit traverser.timeout=seconds (Standardwert: 60 Sekunden). Sie können auch die Zeitüberschreitungen für API-Anfragen erhöhen:

Parameter Beschreibung Standard
indexingService.connectTimeoutSeconds Zeitüberschreitung für die Verbindung bei API-Anfragen. 120s
indexingService.readTimeoutSeconds Zeitüberschreitung für das Lesen bei API-Anfragen. 120s