Google Cloud Search SDK, tüm bağlayıcılar için Google tarafından sağlanan yapılandırma parametrelerini içerir. Bu ayarları düzenlemek, veri dizine ekleme işlemini kolaylaştırabilir. Bu kılavuzda, sık karşılaşılan dizine ekleme sorunları ve bunları çözmek için gereken ayarlar listelenmektedir.
FullTraversalConnector için düşük dizine ekleme işleme hızı
Aşağıdaki tabloda, FullTraversalConnector için işleme hızını artırmaya yönelik ayarlar listelenmiştir:
| Ayar | Açıklama | Varsayılan | Önerilen Değişiklik |
|---|---|---|---|
traverse.partitionSize |
Toplu olarak işlenen ApiOperation() öğe sayısı. SDK, daha fazla getirmeden önce bir bölümün tamamlanmasını bekler. |
50 | Yeterli belleğiniz varsa 1.000 veya daha fazla olarak artırın. |
batch.batchSize |
Birlikte gruplandırılan istek sayısı. | 10 | Toplu iş boyutunu küçültmeyi deneyin. |
batch.maxActiveBatches |
İzin verilen eşzamanlı toplu işlemler. | 20 | batchSize değerini düşürürseniz (partitionSize / batchSize) + 50 kullanarak bu değeri artırın. |
traverse.threadPoolSize |
Paralel işleme için iş parçacığı sayısı. | 50 | Bunu 10'un katları şeklinde artırın. |
ASYNCHRONOUS ve SYNCHRONOUS API istek modları arasında geçiş yapmak için setRequestMode() değerini kullanabilirsiniz.
ListTraversalConnector için düşük dizine ekleme işleme hızı
Bir ListTraversalConnector varsayılan olarak tek bir geçiş aracı kullanır. Verimi artırmak için belirli öğe durumları (ör.
NEW_ITEM, MODIFIED).
| Ayar | Açıklama | Varsayılan | Değiştir |
|---|---|---|---|
repository.traversers | Benzersiz adlara sahip ayrı ayrı geçişler oluşturur (ör. t1, t2). | Bir geçiş aracı | Daha fazla geçişçi ekleyin. |
traversers.t1.hostload | Öğeleri aynı anda dizine eklemek için kullanılan iş parçacığı sayısı. | 5 | 10 veya daha yüksek değerler deneyin. |
schedule.pollQueueIntervalSecs | Boş bir kuyruğa yeniden yoklama göndermeden önce beklenecek saniye sayısı. | 10 | 1'e düşürmeyi deneyin. |
traverser.t1.pollRequest.statuses | Dizine eklenecek durumlar (ör. NEW_ITEM). | Tümü | Farklı durumlar için farklı tarayıcılar kullanın. |
SDK zaman aşımları veya kesintileri
Büyük dosyaları yüklerken zaman aşımıyla karşılaşırsanız traverser.timeout=seconds kullanarak zaman aşımını artırın (varsayılan değer 60 saniyedir). API isteği zaman aşımlarını da artırabilirsiniz:
| Parametre | Açıklama | Varsayılan |
|---|---|---|
indexingService.connectTimeoutSeconds |
API istekleri için bağlantı zaman aşımı. | 120 saniye |
indexingService.readTimeoutSeconds |
API istekleri için okuma zaman aşımı. | 120 saniye |