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(하루의 초 수)입니다.

단일 순회 후 종료 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이 없으면 레코드를 검색할 수 없습니다.

메타데이터 구성 매개변수

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

구성 파일에는 .field 접미사로 표시된 일련의 명명된 메타데이터 구성 매개변수(예: itemMetadata.title.field=movieTitle)가 있습니다. 이러한 매개변수의 값이 있으면 메타데이터 필드를 구성하는 데 사용됩니다. 이름이 지정된 메타데이터 매개변수에 값이 없으면 .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

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

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

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

콘텐츠 업로드

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

설정 매개변수
콘텐츠 기준점 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입니다.