Google Cloud Search SDK에는 모든 커넥터에 대한 Google 제공 구성 매개변수가 포함되어 있습니다. 이러한 설정을 조정하면 데이터 색인 생성을 간소화할 수 있습니다. 이 가이드에는 일반적인 색인 생성 문제와 이를 해결하는 설정이 나옵니다.
FullTraversalConnector의 색인 생성 처리량이 낮음
다음 표에는 FullTraversalConnector의 처리량을 개선하기 위한 설정이 나열되어 있습니다.
| 설정 | 설명 | 기본 | 제안된 변경사항 |
|---|---|---|---|
traverse.partitionSize |
배치로 처리된 ApiOperation() 항목 수입니다. SDK는 파티션이 완료될 때까지 기다린 후 추가 파티션을 가져옵니다. |
50 | 메모리가 충분한 경우 1,000 이상으로 늘립니다. |
batch.batchSize |
함께 일괄 처리할 요청의 수. | 10 | 배치 크기를 줄여 보세요. |
batch.maxActiveBatches |
허용 가능한 동시 일괄 처리입니다. | 20 | batchSize를 낮추는 경우 (partitionSize / batchSize) + 50를 사용하여 이를 늘리세요. |
traverse.threadPoolSize |
병렬 처리 스레드 수입니다. | 50 | 이 값을 10의 배수로 늘립니다. |
setRequestMode()를 사용하여 ASYNCHRONOUS 및 SYNCHRONOUS API 요청 모드 간에 전환하는 것이 좋습니다.
ListTraversalConnector의 색인 생성 처리량이 낮음
ListTraversalConnector는 기본적으로 하나의 트래버서를 사용합니다. 처리량을 늘리려면 특정 항목 상태 (예:
NEW_ITEM, MODIFIED).
| 설정 | 설명 | 기본 | 변경 |
|---|---|---|---|
repository.traversers | 고유한 이름 (예: t1, t2) | 순회자 하나 | 트래버서를 더 추가합니다. |
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초 |