Dostosowywanie ustawień oprogramowania sprzęgającego

Pakiet SDK Google Cloud Search zawiera dostarczone przez Google parametry konfiguracji wszystkich łączników. Dostosowanie tych ustawień może usprawnić indeksowanie danych. W tym przewodniku znajdziesz listę typowych problemów z indeksowaniem i ustawień, które pomogą je rozwiązać.

Niska przepustowość indeksowania w przypadku FullTraversalConnector

W tabeli poniżej znajdziesz ustawienia, które pozwolą zwiększyć przepustowość w przypadkuFullTraversalConnector:

Ustawienie Opis Domyślny Zaproponowana zmiana
traverse.partitionSize Liczba ApiOperation() elementów przetwarzanych w partiach. Zanim SDK pobierze kolejne dane, czeka na zakończenie przetwarzania partycji. 50 Jeśli masz wystarczającą ilość pamięci, zwiększ tę wartość do 1000 lub więcej.
batch.batchSize Liczba żądań zgrupowanych w pakiet. 10 Spróbuj zmniejszyć rozmiar partii.
batch.maxActiveBatches Dozwolone równoczesne partie. 20 Jeśli obniżysz batchSize, zwiększ tę wartość, korzystając z tego narzędzia: (partitionSize / batchSize) + 50.
traverse.threadPoolSize Liczba wątków do przetwarzania równoległego. 50 Zwiększaj tę wartość o wielokrotności 10.

Aby przełączać się między trybami żądań interfejsu API ASYNCHRONOUSSYNCHRONOUS, użyj setRequestMode().

Niska przepustowość indeksowania w przypadku ListTraversalConnector

ListTraversalConnector domyślnie używa jednego modułu przechodzenia. Aby zwiększyć przepustowość, utwórz kilka elementów przechodzących dla określonych stanów produktów (np. NEW_ITEM, MODIFIED).

UstawienieOpisDomyślnyZmień
repository.traversersTworzy poszczególne moduły przechodzenia o unikalnych nazwach (np. t1, t2).Jeden przeszukiwaczDodaj więcej elementów przechodzących.
traversers.t1.hostloadLiczba wątków do jednoczesnego indeksowania elementów.5Wypróbuj wartości co najmniej 10.
schedule.pollQueueIntervalSecsLiczba sekund, po których ma nastąpić ponowne sprawdzanie pustej kolejki.10Spróbuj obniżyć ją do 1.
traverser.t1.pollRequest.statusesStany do zindeksowania (np. NEW_ITEM).WszystkieUżywaj różnych narzędzi do indeksowania w zależności od stanu.

Przekroczenia limitu czasu lub przerwania w pakiecie SDK

Jeśli podczas przesyłania dużych plików występuje przekroczenie limitu czasu, zwiększ ten limit za pomocą traverser.timeout=seconds (domyślnie wynosi 60 sekund). Możesz też zwiększyć limity czasu oczekiwania na żądania interfejsu API:

Parametr Opis Domyślny
indexingService.connectTimeoutSeconds Przekroczenie limitu czasu oczekiwania na połączenie w przypadku żądań interfejsu API. 120 s
indexingService.readTimeoutSeconds Czas oczekiwania na odczyt w przypadku żądań do interfejsu API. 120 s