Google 제공 구성 매개변수

각 커넥터에는 커넥터에서 사용하는 매개변수(예: 저장소 ID)가 포함된 연결된 구성 파일이 있습니다. 매개변수는 api.sourceId=1234567890abcdef와 같은 키-값 쌍으로 정의됩니다.

Google Cloud Search SDK에는 다양한 커넥터에서 사용하는 여러 Google 제공 구성 매개변수가 포함되어 있습니다. Google에서 제공하는 구성 매개변수 중 데이터 소스 액세스 매개변수만 구성 파일에 정의하면 됩니다. 기본값을 재정의하지 않는 한 구성 파일에서 Google 제공 매개변수를 다시 정의할 필요가 없습니다.

이 참조 문서에서는 Google에서 제공하는 구성 매개변수를 설명합니다.

구성 파일 예

다음 예시에서는 매개변수 키-값 쌍이 있는 ID 구성 파일을 보여줍니다.

#
# Configuration file sample
#
api.sourceId=1234567890abcdef
api.identitySourceId=0987654321lmnopq
api.serviceAccountPrivateKeyFile= ./PrivateKey.json

#
# Traversal schedules
#
schedule.traversalIntervalSecs=7200
schedule.incrementalTraversalIntervalSecs=600
#
# Default ACLs
#
defaultAcl.mode=fallback
defaultAcl.public=true
  

일반적으로 설정되는 매개변수

이 섹션에는 일반적으로 설정되는 필수 및 선택적 구성 매개변수가 나와 있습니다. 선택적 매개변수의 값을 변경하지 않으면 커넥터에서 SDK가 제공하는 기본값을 사용합니다.

데이터 소스 액세스

다음 표에는 구성 파일에 표시되어야 하는 모든 매개변수가 나와 있습니다. 사용할 매개변수는 빌드하는 커넥터 유형 (콘텐츠 커넥터 또는 ID 커넥터)에 따라 다릅니다.

설정 매개변수
데이터 소스 ID api.sourceId=1234567890abcdef

이 매개변수는 커넥터가 저장소 위치를 식별하는 데 필요합니다. 이 값은 검색할 데이터 소스를 추가할 때 획득됩니다. 이 매개변수는 커넥터 구성 파일에 있어야 합니다.

ID 소스 ID api.identitySourceId=0987654321lmnopq

이 매개변수는 ID 커넥터가 외부 ID 소스의 위치를 식별하는 데 필요합니다. 이 값은 Cloud Search에서 사용자 ID를 매핑할 때 가져온 것입니다. 이 매개변수는 모든 ID 커넥터 구성 파일에 있어야 합니다.

서비스 계정 비공개 키 파일 api.serviceAccountPrivateKeyFile=./PrivateKey.json

이 매개변수에는 저장소에 액세스하는 데 필요한 비공개 키가 포함되어 있습니다. 이 값은 Google Cloud Search REST API에 대한 액세스를 구성할 때 가져온 것입니다. 이 매개변수는 모든 구성 파일에 있어야 합니다.

서비스 계정 ID api.serviceAccountId=123abcdef4567890

이 매개변수는 서비스 계정 ID를 지정합니다. 비어 있는 기본 문자열 값은 구성 파일이 비공개 키 파일 매개변수를 지정하는 경우에만 허용됩니다. 이 매개변수는 비공개 키 파일이 JSON 키가 아닌 경우 필요합니다.

Google Workspace 계정 ID api.customerId=123abcdef4567890

이 매개변수는 기업의 Google Workspace 계정의 계정 ID를 지정합니다. 이 값은 Cloud Search에서 사용자 ID를 매핑할 때 가져온 것입니다. 이 매개변수는 ID 커넥터를 사용하여 사용자를 동기화할 때 필요합니다.

루트 URL api.rootUrl=baseURLPath

이 매개변수는 색인 생성 서비스 기본 URL 경로를 지정합니다.

이 매개변수의 기본값은 빈 문자열로, https://cloudsearch.googleapis.com로 변환됩니다.

순회 일정

예약 매개변수는 각 순회 사이에 커넥터가 대기하는 빈도를 지정합니다.

설정 매개변수
커넥터 시작 시 전체 순회 schedule.performTraversalOnStart=true|false

커넥터는 첫 번째 간격이 만료되기를 기다리지 않고 커넥터 시작 시 전체 순회를 수행합니다. 기본값은 true.입니다.

간격 후 전체 순회 schedule.traversalIntervalSecs=intervalInSeconds

지정된 간격이 지나면 커넥터가 전체 순회를 수행합니다. 순회 간격을 초 단위로 지정합니다. 기본값은 86400(1일의 초 수)입니다.

한 번의 순회 후에 종료 connector.runOnce=true|false

커넥터는 전체 순회를 한 번 실행한 다음 종료됩니다. 전체 순회 전략을 사용하는 경우에만 이 매개변수를 true로 설정해야 합니다. 나열 및 그래프 전략을 사용하려면 변경사항을 감지하고 콘텐츠의 색인을 생성해야 합니다. 기본값은 false입니다 (단일 순회 이후 종료하지 않음).

특정 간격 후 증분 순회 schedule.incrementalTraversalIntervalSecs=intervalInSeconds

커넥터는 지정된 간격 후에 증분 순회를 수행합니다. 순회 간격을 초 단위로 지정합니다. 기본값은 300 (5분의 초 수)입니다.

예약된 폴링 큐 간격 schedule.pollQueueIntervalSecs=interval_in_seconds

예약된 폴링 큐 간격 (초)입니다. 이는 목록 순회 커넥터에서만 사용합니다. 기본값은 10.입니다.

액세스 제어 목록(ACL)

커넥터는 ACL을 사용하여 항목에 대한 액세스를 제어합니다. 여러 매개변수를 사용하면 ACL을 통해 색인이 생성된 레코드에 대한 사용자 액세스를 보호할 수 있습니다.

저장소에 각 항목과 연결된 개별 ACL 정보가 있는 경우 모든 ACL 정보를 업로드하여 Cloud Search에서 항목 액세스를 제어합니다. 저장소가 ACL 정보를 부분적으로 제공하거나 제공하지 않는 경우 SDK가 커넥터에 제공하는 다음 매개변수에 기본 ACL 정보를 제공할 수 있습니다.

설정 매개변수
ACL 모드 defaultAcl.mode=mode

기본 ACL 적용 시점을 결정합니다. 유효한 값:

  • none: 기본 ACL을 사용하지 않습니다. 이 모드에서는 개별 ACL을 정의하지 않으면 레코드를 검색할 수 없습니다.
  • fallback: 이미 ACL이 없는 경우에만 기본 ACL 사용
  • append: 기존 ACL에 기본 ACL을 추가합니다.
  • override: 기존 ACL을 기본 ACL로 바꿉니다.

기본 모드는 none입니다.

기본 공개 ACL defaultAcl.public=true|false

전체 저장소에 사용되는 기본 ACL이 공개 도메인 액세스로 설정됩니다. 기본값은 false. 입니다.

공통 ACL 그룹 리더 defaultAcl.readers.groups=google:group1@mydomain.com, group2
공통 ACL 리더 defaultAcl.readers.users=user1, user2, google:user3@mydomain.com
공통 ACL 거부된 그룹 리더 defaultAcl.denied.groups=group3
공통 ACL 거부된 리더 defaultAcl.denied.users=user4, user5
전체 도메인 액세스 도메인의 모든 사용자가 색인이 생성된 모든 레코드에 공개적으로 액세스할 수 있도록 지정하려면 다음 두 매개변수를 모두 값으로 설정합니다.
  • defaultAcl.mode=override
  • defaultACL.public=true
공통 정의 ACL 데이터 저장소의 각 레코드에 하나의 ACL을 지정하려면 다음 매개변수 값을 모두 설정하세요.
  • defaultAcl.mode=fallback
  • defaultAcl.public=false
  • defaultAcl.readers.groups=google:group1@mydomain.com, group2 code>
  • defaultAcl.readers.users=user1@mydomain.com, user2, google:user3@mydomain.com
  • defaultAcl.denied.groups=group3
  • defaultAcl.denied.users=user4, user5

    지정된 모든 사용자 및 그룹은 'google:' (리터럴 상수)가 접두사로 지정되지 않는 한 로컬 도메인으로 정의된 사용자/그룹으로 간주됩니다.

    기본 사용자 또는 그룹은 빈 문자열입니다. defaultAcl.publicfalse로 설정된 경우에만 사용자 및 그룹 매개변수를 제공합니다. 여러 그룹과 사용자를 나열하려면 쉼표로 구분된 목록을 사용합니다.

    defaultAcl.modenone로 설정하면 정의된 개별 ACL 없이 레코드를 검색할 수 없습니다.

메타데이터 구성 매개변수

일부 항목 메타데이터는 구성 가능합니다. 커넥터는 색인 생성 중에 구성 가능한 메타데이터 필드를 설정할 수 있습니다. 커넥터가 필드를 설정하지 않으면 구성 파일의 매개변수가 필드를 설정하는 데 사용됩니다.

구성 파일에는 itemMetadata.title.field=movieTitle과 같이 .field 서픽스가 붙는 일련의 명명된 메타데이터 구성 매개변수가 있습니다. 이러한 매개변수 값이 있는 경우 메타데이터 필드를 구성하는 데 사용됩니다. 이름이 지정된 메타데이터 매개변수에 값이 없으면 메타데이터는 .defaultValue 서픽스가 있는 매개변수를 사용하여 구성됩니다.

다음 표에서는 메타데이터 구성 매개변수를 보여줍니다.

설정 매개변수
제목 itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
항목 제목입니다. title.field이 값으로 설정되지 않으면 title.defaultValue의 값이 사용됩니다.
소스 저장소 URL itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
검색결과에 사용되는 상품 URL입니다. 예를 들어 저장소가 CSV 파일이며 모든 항목에 하나의 URL만 있는 경우와 같이 전체 저장소의 URL을 보유하도록 defaultValue를 설정할 수 있습니다. sourceRepositoryUrl.field이 값으로 설정되지 않으면 sourceRepositoryUrl.defaultValue의 값이 사용됩니다.
컨테이너 이름 itemMetadata.containerName.field=containerName
itemMetadata.containerName.defaultValue=myDefaultContainerName
파일의 이름과 같은 항목 컨테이너의 이름 시스템 디렉터리 또는 폴더입니다. containerName.field이 값으로 설정되지 않으면 containerName.defaultValue의 값이 사용됩니다.
개체 유형 itemMetadata.objectType.field=type
itemMetadata.objectType.defaultValue=movie
커넥터가 사용하는 객체 유형(스키마 에서 확인할 수 있습니다. 이 속성을 지정하지 않으면 커넥터가 구조화된 데이터의 색인을 생성하지 않습니다.
objectType.field이 값으로 설정되지 않은 경우 objectType.defaultValue의 값이 사용됩니다.
생성 시간 itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
문서 생성 타임스탬프입니다. createTime.field이 값으로 설정되지 않으면 createTime.defaultValue의 값이 사용됩니다.
업데이트 시간 itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
항목의 마지막 수정 타임스탬프입니다. updateTime.field이 값으로 설정되지 않으면 updateTime.defaultValue의 값이 사용됩니다.
콘텐츠 언어입니다. itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
색인을 생성할 문서의 콘텐츠 언어입니다. contentLanguage.field이 값으로 설정되지 않으면 contentLanguage.defaultValue의 값이 사용됩니다.
MIME 유형 itemMetadata.mimeType.field=mimeType
itemMetadata.mimeType.defaultValue=image/bmp
소스 저장소에 있는 ItemContent.content의 원래 MIME 유형입니다. 최대 길이는 256자(영문 기준)입니다. mimeType.field이 값으로 설정되지 않으면 mimeType.defaultValue의 값이 사용됩니다.
검색 품질 메타데이터 itemMetadata.searchQualityMetadata.quality.field=quality
itemMetadata.searchQualityMetadata.quality.defaultValue=1
검색 품질에 영향을 미치는 데 사용되는 항목의 품질 표시 에서 확인할 수 있습니다. 값은 0.0 (최저 품질)~1.0 (최고 품질) 사이여야 합니다. 기본값은 0.0입니다. quality.field이 값으로 설정되지 않으면 quality.defaultValue의 값이 사용됩니다.
해시 itemMetadata.hash.field=hash
itemMetadata.hash.defaultValue=f0fda58630310a6dd91a7d8f0a4ceda2
API 호출자가 제공하는 해싱 값입니다. 이 메서드를 items.push 메서드와 함께 사용하여 수정된 상태를 계산할 수 있습니다. 최대 길이는 2,048자(영문 기준)입니다. hash.field이 값으로 설정되지 않으면 hash.defaultValue의 값이 사용됩니다.

날짜/시간 형식

날짜/시간 형식은 메타데이터 속성에 필요한 형식을 지정합니다. 구성 파일에 이 매개변수가 없으면 기본값이 사용됩니다. 다음 표에서는 이 매개변수를 보여줍니다.

설정 매개변수
추가 날짜/시간 형식 structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
세미콜론으로 구분된 추가 java.time.format.DateTimeFormatter 패턴 목록입니다. 이 패턴은 메타데이터 또는 스키마에서 날짜 또는 날짜-시간 필드의 문자열 값을 파싱할 때 사용됩니다. 기본값은 빈 목록이지만 RFC 3339 및 RFC 1123 형식은 항상 지원됩니다.

구조화된 데이터

Cloud Search Indexing API는 Cloud Search가 데이터를 색인 생성하고 제공하는 방식을 맞춤설정하는 데 사용할 수 있는 스키마 서비스를 제공합니다. 로컬 저장소 스키마를 사용하는 경우 구조화된 데이터 로컬 스키마 이름을 지정해야 합니다.

설정 매개변수
로컬 스키마 이름 structuredData.localSchema=mySchemaName

스키마 이름은 데이터 소스에서 읽히고 구조화된 저장소 데이터에 사용됩니다.

기본값은 빈 문자열입니다.

콘텐츠 및 검색 품질

레코드 또는 필드 기반 콘텐츠 (예: CRM, CVS 또는 데이터베이스)를 포함하는 저장소의 경우 SDK는 데이터 필드에 대해 자동 HTML 형식을 허용합니다. 커넥터는 커넥터 실행이 시작될 때 데이터 필드를 정의하고, 콘텐츠 템플릿을 사용해 각 데이터 레코드의 형식을 지정한 후에 Cloud Search에 업로드합니다.

콘텐츠 템플릿은 검색 시 각 필드 값의 중요도를 정의합니다. HTML <title> 필드는 필수이며 가장 높은 우선순위로 정의됩니다. 다른 모든 콘텐츠 필드(높음, 중간, 낮음)에 검색 품질 중요도 수준을 지정할 수 있습니다. 특정 카테고리에 정의되지 않은 모든 콘텐츠 필드는 기본적으로 낮은 우선순위로 설정됩니다.

설정 매개변수
콘텐츠 HTML 제목 contentTemplate.templateName.title=myTitleField

콘텐츠 HTML 제목과 가장 높은 검색 품질 필드입니다. 이 매개변수는 HTML 콘텐츠 템플릿을 사용하는 경우에만 필요합니다. 기본값은 빈 문자열입니다.

콘텐츠 필드에 높은 검색 품질 사용 contentTemplate.templateName.quality.high=hField1,hField2

검색 필드가 높은 콘텐츠 필드 기본값은 빈 문자열입니다.

콘텐츠 필드에 중간 검색 품질 사용 contentTemplate.templateName.quality.medium=mField1,mField2

중간 검색 우선순위를 갖는 콘텐츠 필드 기본값은 빈 문자열입니다.

콘텐츠 필드에 낮은 검색 품질 사용 contentTemplate.templateName.quality.low=lField1,lField2

검색 필드가 낮은 콘텐츠 필드 기본값은 빈 문자열입니다.

지정되지 않은 콘텐츠 필드 contentTemplate.templateName.unmappedColumnsMode=value

지정되지 않은 콘텐츠 필드를 커넥터가 처리하는 방법입니다. 유효한 값은 다음과 같습니다.

  • APPEND—지정되지 않은 콘텐츠 필드를 템플릿에 추가합니다.
  • IGNORE—지정되지 않은 콘텐츠 필드를 무시합니다.

    기본값은 APPEND입니다.

HTML 템플릿에 필드 이름 포함 contentTemplate.templateName.includeFieldName=true|false

필드 이름과 HTML 필드의 필드 데이터를 포함할지 여부를 지정합니다. 기본값은 true이며 필드 이름을 콘텐츠 데이터의 일부로 검색할 수 있습니다.

일반적으로 설정되지 않는 매개변수

이 섹션에 나열된 매개변수를 설정할 필요는 거의 없습니다. 최적의 성능을 위해 매개변수의 기본값이 설정됩니다. 저장소 내 특정 요구사항이 없으면 이러한 매개변수를 기본값과 다른 값으로 설정하지 않는 것이 좋습니다.

프록시 구성

SDK를 사용하면 발신 연결에 프록시를 사용하도록 커넥터를 구성할 수 있습니다.

transport.proxy.hostnametransport.proxy.port 매개변수는 프록시를 통한 전송을 사용 설정하는 데 필요합니다. 프록시에 인증이 필요하거나 HTTP 대신 SOCKS 프로토콜을 통해 작동하는 경우 다른 매개변수가 필요할 수 있습니다. transport.proxy.hostname가 설정되지 않은 경우 SDK에서 프록시를 사용하지 않습니다.

설정 매개변수
호스트 이름 transport.proxy.hostname=hostname

프록시 서버의 호스트 이름입니다. 이 매개변수는 프록시를 사용할 때 필요합니다.

포트 transport.proxy.port=port

프록시 서버의 포트 번호입니다. 이 매개변수는 프록시를 사용할 때 필요합니다.

프록시 유형 transport.proxy.type=type

프록시 유형입니다. 유효한 값은 다음과 같습니다.

  • HTTP: 프록시가 HTTP를 통해 요청을 수락하고 전달합니다.
  • SOCKS: 프록시가 SOCKS 프로토콜을 통해 패킷을 수락하고 전달합니다.

기본값은 HTTP입니다.

사용자 이름 transport.proxy.username=username

프록시 승인 토큰을 구성할 때 사용할 사용자 이름입니다. 이 매개변수는 선택사항이며 프록시에 인증이 필요한 경우에만 설정해야 합니다.

비밀번호 transport.proxy.password=password

프록시 승인 토큰을 구성할 때 사용할 비밀번호입니다. 이 매개변수는 선택사항이며 프록시에 인증이 필요한 경우에만 설정해야 합니다.

순회자

SDK를 사용하면 여러 개별 순회자를 지정하여 데이터 저장소의 병렬 순회를 허용할 수 있습니다. SDK 템플릿 커넥터는 이 기능을 사용합니다.

설정 매개변수
스레드 풀 크기 traverse.threadPoolSize=size

병렬 처리를 위해 커넥터가 생성하는 스레드의 수. 단일 반복자는 작업을 직렬로 가져오지만 (일반적으로 RepositoryDoc 객체) API는 이 수의 스레드를 사용하여 동시에 프로세스를 호출합니다.

기본값은 5입니다.

파티션 크기 traverse.partitionSize=batchSize

추가 APIOperation를 가져오기 전에 일괄 처리할 ApiOperation() 수입니다.

기본값은 50입니다.

순회자 설문조사 요청

Cloud Search 색인 생성 큐의 핵심은 알려진 각 항목의 항목을 포함하는 우선순위 큐입니다. 목록 커넥터는 Indexing API에서 항목을 폴링하도록 요청할 수 있습니다. 설문조사 요청은 색인 생성 대기열에서 우선순위가 가장 높은 항목을 가져옵니다.

다음 매개변수는 SDK 나열 커넥터 템플릿에서 폴링 매개변수를 정의하는 데 사용됩니다.

설정 매개변수
저장소 순회자 repository.traversers=t1, t2, t3, ...

t1, t2, t3, ...이 각각에 고유한 이름인 개별 순회자를 하나 이상 만듭니다. 이름이 지정된 각 순회자에는 순회자 고유 이름을 사용하여 식별되는 자체 설정 집합이 있습니다(예: traversers.t1.hostloadtraversers.t2.hostload).

폴링할 큐 traverser.pollRequest.queue=mySpecialQueue

이 순회자가 폴링하는 큐 이름입니다. 기본값은 빈 문자열입니다 (기본값: 'default').

traverser.t1.pollRequest.queue=mySpecialQueue

여러 개의 순회자가 있는 경우 각 순회자의 항목 상태를 설정합니다. 여기서 t1는 특정 순회자를 나타냅니다.

폴링 동작 traverser.pollRequest.limit=maxItems

폴링 요청에서 반환할 최대 항목 수입니다. 기본값은 0입니다 (API 최댓값 암시).

traverser.t1.pollRequest.limit=limit

여러 개의 순회자가 있는 경우 각 순회자의 항목 상태를 설정합니다. 여기서 t1는 특정 순회자를 나타냅니다.

아이템 상태 traverser.pollRequest.statuses=statuses

이 순회자가 폴링하는 특정 항목의 상태입니다. statuses는 쉼표로 구분된 MODIFIED, NEW_ITEM의 조합일 수 있습니다. 기본값은 빈 문자열(모든 상태 값 포함)입니다.

traverser.t1.pollRequest.statuses=statusesForThisTraverser

여러 개의 순회자가 있는 경우 각 순회자의 항목 상태를 설정합니다. 여기서 t1는 특정 순회자를 나타냅니다.

호스트 로드 traverser.hostload=threads

폴링에 사용할 수 있는 최대 활성 병렬 스레드 수입니다. 기본값은 5.입니다.

traverser.t1.hostload=threadsForThisTraverser

여러 개의 순회자가 있는 경우 각 순회자의 항목 상태를 설정합니다. 여기서 t1는 특정 순회자를 나타냅니다.

제한시간 traverser.timeout=timeout

순회자 설문조사 시도를 중단하기 위한 시간 제한 값입니다.

기본값은 60입니다.

traverser.t1.timeout=timeoutForThisTraverser

여러 개의 순회자가 있는 경우 각 순회자의 항목 상태를 설정합니다. 여기서 t1는 특정 순회자를 나타냅니다.

traverser.timeunit=timeoutUunit

제한 시간 단위입니다. 유효한 값은 SECONDS, MINUTES, 입니다.

traverser.t1.timeunit=timeoutUnit

여러 개의 순회자가 있는 경우 각 순회자의 항목 상태를 설정합니다. 여기서 t1는 특정 순회자를 나타냅니다.

대부분의 경우 SDK 나열 커넥터 템플릿을 사용하는 커넥터는 폴링을 위한 단일 매개변수 집합만 필요합니다. 예를 들어 순회 알고리즘에서 다른 큐를 사용하여 항목 처리를 분리해야 하는 경우 폴링 기준을 둘 이상 정의해야 할 수도 있습니다.

이 경우 폴링 매개변수 집합을 여러 개 정의할 수 있습니다. 먼저 repository.traversers를 사용하여 매개변수 세트의 이름을 지정합니다. 정의된 각 순회자 이름에 대해 위의 표에 있는 매개변수로 구성 파일을 제공합니다. 여기서 t1를 순회자 이름으로 바꿉니다. 그러면 정의된 각 순회자용 폴링 매개변수 집합이 생성됩니다.

체크포인트

체크포인트는 증분 순회 상태를 추적하는 데 유용합니다.

설정 매개변수
체크포인트 디렉터리 connector.checkpointDirectory=/path/to/checkpoint

증분 및 전체 순회 체크포인트에 사용할 로컬 디렉터리 경로를 지정합니다.

콘텐츠 업로드

항목 크기가 지정된 임 threshold값을 초과하지 않으면 항목 콘텐츠가 항목과 함께 Cloud Search에 업로드됩니다. 콘텐츠의 크기가 임 the값을 초과하면 콘텐츠가 항목의 메타데이터 및 구조화된 데이터와 별도로 업로드됩니다.

설정 매개변수
콘텐츠 기준 api.contentUploadThresholdBytes=bytes

항목과 함께 '인라인'으로 업로드되는지, 별도의 업로드를 사용할지를 결정하는 콘텐츠의 기준점입니다.

기본값은 100000 (~100KB)입니다.

컨테이너

전체 커넥터 템플릿은 데이터베이스에서 삭제된 레코드를 감지하기 위해 임시 데이터 소스 큐 전환 개념과 관련된 알고리즘을 사용합니다. 즉, 전체 순회가 이루어질 때 새 큐에 있는 가져온 레코드가 이전 큐에 있는 이전 순회에서 색인이 생성된 기존 Cloud Search 레코드를 모두 대체합니다.

설정 매개변수
컨테이너 이름 태그 traverse.queueTag=instance

서로 방해하지 않고 커넥터의 여러 인스턴스를 동시에 실행하여 공통 데이터 저장소 (다른 데이터 저장소 또는 공통 데이터 저장소의 별도 부분)를 색인화하려면 고유한 컨테이너 이름을 할당합니다. 연결할 수 있습니다. 고유한 이름 태그는 커넥터 인스턴스가 다른 레코드를 삭제하지 못하게 합니다.

이름 태그는 전체 순회 커넥터 전환 대기열 ID에 추가됩니다.

삭제 감지 사용 중지 traverse.useQueues=true|false

커넥터가 큐 감지 로직을 사용하여 삭제를 감지하는지 여부를 나타냅니다.

기본값은 큐를 사용하도록 지정하는 true입니다.

참고: 이 구성 매개변수는 FullTraversalConnector 템플릿을 구현하는 커넥터에만 적용됩니다.

일괄 정책

SDK는 다음 작업을 수행할 수 있는 일괄 정책을 지원합니다.

  • 일괄 요청
  • 일괄 큐의 요청 수 지정
  • 동시에 실행되는 배치 관리
  • 일괄 요청 삭제

SDK는 업로드 시 처리량을 단축하기 위해 커넥터의 요청을 일괄 처리합니다. 요청 배치 업로드를 위한 SDK 트리거는 요청 수 또는 제한 시간 중 먼저 도래하는 시점을 기준으로 합니다. 예를 들어 배치 지연 시간에 도달하지 않고 일괄 지연 시간이 만료되었거나 지연 시간이 만료되기 전에 배치 크기 항목 수에 도달한 경우 일괄 업로드가 트리거됩니다.

설정 매개변수
일괄 요청 batch.batchSize=batchSize

요청을 일괄 처리하세요. 기본값은 10입니다.

일괄 큐의 요청 수 batch.maxQueueLength=maxQueueLength

실행할 일괄 큐의 최대 요청 수입니다. 기본값은 1000.입니다.

동시 실행 실행 batch.maxActiveBatches=maxActiveBatches

허용 가능한 동시 실행 일괄 처리의 수. 기본값은 20입니다.

일괄 요청 자동 삭제 batch.maxBatchDelaySeconds=maxBatchDelay

일괄 요청이 자동으로 플러시되기 전에 대기할 시간(초)입니다. 기본값은 5입니다.

종료 시 일괄 요청 플러시 batch.flushOnShutdown=true|false

서비스 종료 중에 일괄 처리된 요청을 삭제합니다. 기본값은 true입니다.

예외 핸들러

예외 핸들러 매개변수는 예외가 발생한 후 순회자가 진행하는 방법을 결정합니다.

설정 매개변수
오류 발생 시 순회자 안내 traverse.exceptionHandler=exceptions

예외가 발생한 후 순회자가 진행하는 방식입니다. 유효한 값은 다음과 같습니다.

  • 0 - 예외가 발생한 후 항상 순회를 취소합니다.
  • num_exceptions (예: 10) - 순회자가 지정된 num_exceptions를 발견하면 취소합니다.

    기본값은 0입니다 (오류 시 항상 취소).

  • ignore--오류 무시
예외 간 대기 시간 abortExceptionHander.backoffMilliSeconds=backoff

감지된 핸들러 예외 간에 대기하는 백오프 시간(밀리초)입니다(일반적으로 저장소를 순회할 때 사용됨). 기본값은 10입니다.