Dostosowywanie ustawień oprogramowania sprzęgającego

Pakiet SDK Google Cloud Search zawiera parametry konfiguracji dostarczone przez Google dla 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 łącznika 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ć wielkość wsadu.
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ń do 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 obiektów przechodzących dla określonych stanów elementów (np. NEW_ITEM, MODIFIED).

UstawienieOpisDomyślnyZmień
repository.traversersTworzy poszczególne elementy przechodzące 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, które należy odczekać przed ponownym sprawdzeniem pustej kolejki.10Spróbuj zmniejszyć tę wartość 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 jest to 60 sekund). Możesz też zwiększyć limity czasu oczekiwania na żądania do interfejsu API:

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