A ogni connettore è associato un file di configurazione contenente i parametri utilizzati dal connettore,
  come l'ID del repository. I parametri sono definiti come coppie chiave/valore, come
  api.sourceId=1234567890abcdef.
L'SDK di Google Cloud Search contiene diverse configurazioni fornite da Google utilizzati dai vari connettori. Dei parametri di configurazione forniti da Google, devi definire nel tuo account solo i parametri di accesso all'origine dati di configurazione del deployment. Non è necessario ridefinire i parametri forniti da Google in del file di configurazione a meno che tu non voglia sostituire i valori predefiniti.
Questo riferimento descrive i parametri di configurazione forniti da Google.
Esempio di file di configurazione
L'esempio seguente mostra un file di configurazione dell'identità con coppie chiave-valore dei parametri.
# # 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
Parametri comunemente impostati
Questa sezione elenca i parametri di configurazione obbligatori e facoltativi comunemente impostati. In caso contrario modificare i valori dei parametri facoltativi, il connettore utilizza i valori predefiniti forniti dall'SDK.
Accesso a origine dati
La tabella seguente elenca tutti i parametri che devono essere visualizzati in una configurazione . I parametri da utilizzare dipendono dal tipo di connettore che stai creando (connettore di contenuti o connettore di identità).
| Impostazione | Parametro | 
|---|---|
| ID origine dati | api.sourceId=1234567890abcdefQuesto parametro è richiesto da un connettore per identificare del repository. Questo valore viene ottenuto quando aggiunto un'origine dati per la ricerca. Questo parametro deve trovarsi nei file di configurazione del connettore. | 
| ID origine identità | api.identitySourceId=0987654321lmnopqQuesto parametro è richiesto dai connettori di identità per identificare la posizione di un'origine identità esterna. Hai ottenuto questo valore mappare le identità degli utenti in Cloud Search. Questo parametro deve essere presente in tutti i file di configurazione del connettore di identità. | 
| File di chiave privata dell'account di servizio | api.serviceAccountPrivateKeyFile=./PrivateKey.jsonQuesto parametro contiene la chiave privata necessaria per accedere al repository. Hai ottenuto questo valore accesso configurato al REST di Google Cloud Search tramite Google Cloud. Questo parametro deve essere presente in tutti i file di configurazione. | 
| ID account di servizio | api.serviceAccountId=123abcdef4567890Questo parametro specifica l'account di servizio ID. Il valore predefinito della stringa vuota è consentito solo se il file di configurazione specifica un parametro file di chiave privata. Questo parametro è obbligatorio se il file della chiave privata non è una chiave JSON. | 
| ID account Google Workspace | api.customerId=123abcdef4567890Questo parametro specifica l'ID dell'account Google Workspace dell'azienda. Hai ottenuto questo valore quando mappamo l'utente di identità in Cloud Search. Questo parametro è obbligatorio quando si sincronizzano gli utenti utilizzando un e il connettore di identità. | 
| URL di base | api.rootUrl=baseURLPathQuesto parametro specifica il percorso dell'URL di base del servizio di indicizzazione.  Il valore predefinito di questo parametro è una stringa vuota che viene convertita in
        | 
Pianificazioni del trasferimento
I parametri di pianificazione determinano la frequenza di attesa del connettore tra attraversamenti.
| Impostazione | Parametro | 
|---|---|
| Traversale completo all'avvio del connettore | schedule.performTraversalOnStart=true|false Il connettore esegue un attraversamento completo all'avvio del connettore, anziché
        in attesa della scadenza del primo intervallo. Il valore predefinito è  | 
| Traversale completo dopo un intervallo | schedule.traversalIntervalSecs=intervalInSeconds Il connettore esegue un attraversamento completo dopo un intervallo specificato. Specifica
        intervallo tra gli attraversamenti in secondi. Il valore predefinito è  | 
| Uscita dopo un singolo attraversamento | connector.runOnce=true|false Il connettore esegue un attraversamento completo una volta, quindi si chiude. Questo parametro deve solo
        deve essere impostato su  | 
| Attraversamento incrementale dopo un intervallo | schedule.incrementalTraversalIntervalSecs=intervalInSeconds Il connettore esegue un attraversamento incrementale dopo un intervallo specificato.
        Specifica l'intervallo tra gli attraversamenti in secondi. Il valore predefinito è
         | 
| Intervalli di coda di sondaggi programmati | schedule.pollQueueIntervalSecs=interval_in_seconds L'intervallo tra gli intervalli pianificati della coda di polling (in secondi). Questo è utilizzato
        solo da un connettore di attraversamento elenco. Il valore predefinito è  | 
Elenchi di controllo di accesso
Il connettore controlla l'accesso agli elementi utilizzando gli ACL. Più parametri consentono di proteggere l'accesso degli utenti ai record indicizzati con ACL.
Se al repository sono associate singole informazioni ACL Caricare tutte le informazioni ACL per controllare l'accesso agli elementi in Cloud Search. Se il repository fornisce informazioni ACL parziali o assenti, puoi fornire le informazioni ACL nei seguenti parametri, che l'SDK fornisce di rete.
| Impostazione | Parametro | 
|---|---|
| Modalità ACL | defaultAcl.mode=modeDetermina quando applicare l'ACL predefinito. Valori validi: 
 La modalità predefinita è  | 
| ACL pubblico predefinito | defaultAcl.public=true|false L'ACL predefinito utilizzato per l'intero repository è impostato sull'accesso al dominio pubblico.
        Il valore predefinito è  | 
| Lettori di gruppi ACL comuni | defaultAcl.readers.groups=google:group1@mydomain.com,
       group2 | 
| Lettori ACL comuni | defaultAcl.readers.users=user1, user2,
    google:user3@mydomain.com | 
| Lettori dei gruppi rifiutati ACL comuni | defaultAcl.denied.groups=group3 | 
| Lettori ACL comuni rifiutati | defaultAcl.denied.users=user4, user5 | 
| Accesso all'intero dominio | per specificare che ogni record indicizzato deve essere accessibile pubblicamente da ogni utente
      nel dominio, imposta con valori entrambi i seguenti parametri: 
 | 
| ACL definito comune | Per specificare un ACL per ogni record del repository di dati, imposta tutte le
      i seguenti valori parametro: 
 | 
Parametri di configurazione dei metadati
Alcuni dei metadati degli elementi sono configurabili. I connettori possono impostare campi di metadati configurabili dell'indicizzazione. Se il connettore non imposta un campo, vengono utilizzati i parametri del file di configurazione. per impostare il campo.
I file di configurazione contengono una serie di parametri di configurazione dei metadati denominati, indicati da
un suffisso .field, ad esempio
itemMetadata.title.field=movieTitle. Se esiste un valore per questi
, è utilizzato per configurare il campo dei metadati. In assenza di un valore per il parametro
parametro metadata denominato, i metadati vengono configurati utilizzando un parametro con
  .defaultValue).
La seguente tabella mostra i parametri di configurazione dei metadati.
| Impostazione | Parametro | 
| Titolo | itemMetadata.title.field=movieTitleitemMetadata.title.defaultValue=Il titolo dell'articolo. Se title.fieldnon è impostato su un valore, il valore di
     È in usotitle.defaultValue. | 
| URL repository di codice sorgente | itemMetadata.sourceRepositoryUrl.field=urlitemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/L'URL dell'elemento utilizzato nei risultati di ricerca. Potresti impostare defaultValuein modo che contenga un
     URL dell'intero repository, ad esempio se il repository è un file CSV e ne esiste solo uno
  URL di ogni articolo. SesourceRepositoryUrl.fieldnon è impostato
     in un valore, viene utilizzato il valore disourceRepositoryUrl.defaultValue. | 
| Nome container | itemMetadata.containerName.field=containerNameitemMetadata.containerName.defaultValue=myDefaultContainerNameIl nome del container dell'elemento, ad esempio il nome di una directory o di una cartella del file system. Se containerName.fieldnon è impostato su un valore, il valore di
     È in usocontainerName.defaultValue. | 
| Tipo di oggetto | itemMetadata.objectType.field=typeitemMetadata.objectType.defaultValue=Il tipo di oggetto utilizzato dal connettore, come definito nel schema. Il connettore non indicizza i dati strutturati se questa proprietà non è specificata. Se objectType.fieldnon è impostato su un valore, il valore diobjectType.defaultValueè in uso. | 
| Ora di creazione | itemMetadata.createTime.field=releaseDateitemMetadata.createTime.defaultValue=1940-01-17Il timestamp di creazione del documento. Se createTime.fieldnon è impostato su un valore,
     viene utilizzato il valore dicreateTime.defaultValue. | 
| Ora di aggiornamento | itemMetadata.updateTime.field=releaseDateitemMetadata.updateTime.defaultValue=1940-01-17Il timestamp dell'ultima modifica per l'elemento. Se updateTime.fieldnon è impostato su
     viene usato il valore diupdateTime.defaultValue. | 
| Lingua dei contenuti | itemMetadata.contentLanguage.field=languageCodeitemMetadata.contentLanguage.defaultValue=La lingua dei contenuti per i documenti da indicizzare. Se contentLanguage.fieldnon è impostato su un valore, viene utilizzato il valore dicontentLanguage.defaultValue. | 
| Tipo MIME | itemMetadata.mimeType.field=mimeTypeitemMetadata.mimeType.defaultValue=Il tipo MIME originale di ItemContent.content nel repository di codice sorgente. La lunghezza massima è 256 caratteri. Se mimeType.fieldnon è impostato su un valore, il valore di
     È in usomimeType.defaultValue. | 
| Metadati sulla qualità della ricerca | itemMetadata.searchQualityMetadata.quality.field=qualityitemMetadata.searchQualityMetadata.quality.defaultValue=Un'indicazione della qualità dell'articolo, utilizzata per influenzare la qualità della ricerca. Il valore deve essere compreso tra 0,0 (qualità minima) e 1,0 (qualità massima). Il valore predefinito è 0,0. Se quality.fieldnon è impostato su un valore, il valore di
     È in usoquality.defaultValue. | 
| Hash | itemMetadata.hash.field=hashitemMetadata.hash.defaultValue=f0fda58630310a6dd91a7d8f0a4ceda2Valore di hashing fornito dal chiamante dell'API. Questa opzione può essere utilizzata con items.pushper calcolare lo stato modificato. La lunghezza massima è 2048
     caratteri. Sehash.fieldnon è impostato su un valore, il valore di
     È in usohash.defaultValue. | 
Formati data/ora
I formati di data e ora specificano i formati previsti negli attributi dei metadati. Se il file di configurazione non contiene questo parametro, vengono utilizzati i valori predefiniti. La tabella seguente mostra questo parametro.
| Impostazione | Parametro | 
| Altri formati data/ora | structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXXUn elenco separato da punti e virgola di java.time.format.DateTimeFormatteraggiuntivi
      pattern. I pattern vengono utilizzati durante l'analisi dei valori stringa per qualsiasi campo data o data/ora
      nei metadati o nello schema. Il valore predefinito è un elenco vuoto, ma RFC 3339 e RFC 1123
      sono sempre supportati. | 
Dati strutturati
L'API Cloud Search Index fornisce un servizio per gli schemi che puoi utilizzare per: personalizzare il modo in cui Cloud Search indicizza e fornisce i tuoi dati. Se utilizzi un dello schema del repository locale, devi specificare i dati strutturati del nome dello schema.
| Impostazione | Parametro | 
|---|---|
| Nome schema locale | structuredData.localSchema=mySchemaNameIl nome dello schema viene letto dall'origine dati e utilizzato per il repository dati strutturati. Il valore predefinito è una stringa vuota. | 
Qualità dei contenuti e della ricerca
Per i repository che includono contenuti basati su record o campi (come CRM, CVS, o database), l'SDK consente la formattazione HTML automatica per i campi di dati. Il tuo Il connettore definisce i campi dei dati all'inizio dell'esecuzione del connettore e utilizza un modello di contenuti per formattare ciascun record di dati prima di caricarlo in Cloud Search.
 Il modello di contenuti definisce l'importanza del valore di ciascun campo per la ricerca.
  HTML <title>
  è obbligatorio e viene definito con la priorità più alta. Puoi
  designa i livelli di importanza della qualità della ricerca per tutti gli altri campi di contenuti:
  alta, media o bassa. Qualsiasi campo di contenuti non definito in una categoria specifica
  il valore predefinito è bassa priorità. 
| Impostazione | Parametro | 
|---|---|
| Titolo HTML contenuti | contentTemplate.templateName.title=myTitleFieldIl titolo HTML dei contenuti e il campo della qualità di ricerca più elevata. Questo parametro è obbligatorio solo se utilizzi un modello di contenuti HTML. Il valore predefinito è vuoto stringa. | 
| Qualità di ricerca elevata per i campi dei contenuti | contentTemplate.templateName.quality.high=hField1,hField2Campi dei contenuti a cui è stata assegnata un'elevata priorità di ricerca. Il valore predefinito è una stringa vuota. | 
| Qualità di ricerca media per i campi di contenuti | contentTemplate.templateName.quality.medium=mField1,mField2Campi dei contenuti a cui è stata assegnata una priorità di ricerca media. Il valore predefinito è una stringa vuota. | 
| Scarsa qualità di ricerca per i campi dei contenuti | contentTemplate.templateName.quality.low=lField1,lField2Campi dei contenuti a cui è stata assegnata una priorità di ricerca bassa. Il valore predefinito è una stringa vuota. | 
| Campi di contenuti non specificati | contentTemplate.templateName.unmappedColumnsMode=valueModalità di gestione dei campi di contenuti non specificati da parte del connettore. I valori validi sono: 
 | 
| Includi nomi di campi nel modello HTML | contentTemplate.templateName.includeFieldName=true|false Consente di specificare se includere i nomi dei campi insieme ai dati dei campi nell'HTML
        modello. Il valore predefinito è  | 
Parametri impostati in modo insolito
Raramente è necessario impostare i parametri elencati in questa sezione. I valori predefiniti dei parametri sono per ottenere prestazioni ottimali. Google sconsiglia di impostare questi parametri su diversi da quelli predefiniti senza requisiti specifici all'interno dei tuoi repository Git.
Configurazione proxy
L'SDK consente di configurare il connettore in modo che utilizzi un proxy per le connessioni in uscita.
I parametri transport.proxy.hostname e transport.proxy.port sono
  necessaria per abilitare il trasporto attraverso un proxy. Gli altri parametri potrebbero essere obbligatori
  se il proxy richiede l'autenticazione o opera sul protocollo SOCKS anziché su HTTP. Se
    transport.proxy.hostname non è impostato, l'SDK non utilizzerà un proxy.
| Impostazione | Parametro | 
|---|---|
| Nome host | transport.proxy.hostname=hostnameIl nome host del server proxy. Questo parametro è obbligatorio se si utilizza un proxy. | 
| Porta | transport.proxy.port=portIl numero di porta del server proxy. Questo parametro è obbligatorio se si utilizza un proxy. | 
| Tipo di proxy | transport.proxy.type=typeIl tipo di proxy. I valori validi sono: 
  Il valore predefinito è  | 
| Nome utente | transport.proxy.username=usernameIl nome utente da utilizzare durante la creazione di un token di autorizzazione proxy. Questo parametro è facoltativo e deve essere impostato solo se il proxy richiede l'autenticazione. | 
| Password | transport.proxy.password=passwordLa password da utilizzare durante la creazione di un token di autorizzazione proxy. Questo parametro è facoltativo e deve essere impostato solo se il proxy richiede l'autenticazione. | 
Traverser
L'SDK consente di specificare più trasferimenti individuali per consentire attraversamenti paralleli di un repository di dati. I connettori di modelli SDK utilizzano funzionalità.
| Impostazione | Parametro | 
|---|---|
| Dimensioni del pool di thread | traverse.threadPoolSize=sizeNumero di thread creati dal connettore per consentire l'elaborazione parallela. R un singolo iteratore recupera le operazioni in modo seriale (di solito gli oggetti RepositoryDoc), ma l'API chiama i processi in parallelo utilizzando questo numero di thread.  Il valore predefinito è  | 
| Dimensione partizione | traverse.partitionSize=batchSize Numero di   Il valore predefinito è  | 
Richieste di trasferimento poll
Il nucleo della coda di indicizzazione di Cloud Search è una coda prioritaria contenente una per ogni elemento di cui è nota l'esistenza. Un connettore di schede può richiedere il polling di indicizzazione da parte di altri elementi. Una richiesta di sondaggio riceve le voci con la priorità più alta dalla coda di indicizzazione.
I seguenti parametri vengono utilizzati dal modello di connettore delle schede dell'SDK per per definire i parametri di polling.
| Impostazione | Parametro | 
|---|---|
| Trasferimento repository | repository.traversers=t1, t2, t3, ...Crea uno o più trasferimenti individuali dove t1, t2, t3,
        ... è il nome univoco di ciascuno. Ogni traverser denominato ha il proprio insieme di impostazioni
        identificati mediante il nome univoco dell'operatore, come
         | 
| Coda da sottoporre a polling | traverser.pollRequest.queue=mySpecialQueueNomi delle code che questo attraversatore esegue il polling. La stringa predefinita è vuota (significa che "predefinito"). | 
| traverser.t1.pollRequest.queue=mySpecialQueueIn presenza di più vettori, imposta gli stati dell'elemento per ciascuno (dove t1 rappresenta un vettore specifico). | |
| Comportamento polling | traverser.pollRequest.limit=maxItems Numero massimo di elementi da restituire da una richiesta di polling.
      Il valore predefinito è  | 
| traverser.t1.pollRequest.limit=limitIn presenza di più vettori, imposta gli stati dell'elemento per ciascuno (dove t1 rappresenta un vettore specifico). | |
| Stato elemento | traverser.pollRequest.statuses=statusesGli stati dell'elemento specifico interrogati da questo attraversatore, dove statuses può essere
        qualsiasi combinazione di  | 
| traverser.t1.pollRequest.statuses=statusesForThisTraverserIn presenza di più vettori, imposta gli stati dell'elemento per ciascuno di essi (dove t1, rappresenta un vettore specifico). | |
| Carico host | traverser.hostload=threads Numero massimo di thread paralleli attivi disponibili per il polling. Il valore predefinito
        il valore è  | 
| traverser.t1.hostload=threadsForThisTraverserIn presenza di più vettori, imposta gli stati dell'elemento per ciascuno di essi (dove t1, rappresenta un vettore specifico). | |
| Timeout | traverser.timeout=timeoutValore di timeout per l'interruzione di questo tentativo di polling del traversa.  Il valore predefinito è  | 
| traverser.t1.timeout=timeoutForThisTraverserIn presenza di più vettori, imposta gli stati dell'elemento per ciascuno di essi (dove t1, rappresenta un vettore specifico). | |
| traverser.timeunit= timeoutUunit Le unità di timeout. I valori validi sono  | |
| traverser.t1.timeunit= timeoutUnitIn presenza di più vettori, imposta gli stati dell'elemento per ciascuno di essi (dove t1, rappresenta un vettore specifico). | 
Nella maggior parte dei casi, un connettore che utilizza solo il modello di connettore che elenca l'SDK richiede un singolo set di parametri per il polling. In alcuni casi, può essere necessario definisci più di un criterio di polling se l'algoritmo di attraversamento richiede separando l'elaborazione degli elementi tramite diverse code, ad esempio.
 In questo caso, hai la possibilità di definire più gruppi di polling
  parametri. Iniziare specificando i nomi dei set di parametri utilizzando
  repository.traversers. Per ogni nome del traverser definito, fornisci il valore
  di configurazione del deployment con i parametri della tabella precedente
  t1 con il nome del traverser. Viene creato un insieme di sondaggi
  per ogni trasferimento definito. 
Checkpoint
Un checkpoint è utile per tracciare lo stato di un attraversamento incrementale.
| Impostazione | Parametro | 
|---|---|
| Directory di checkpoint | connector.checkpointDirectory=/path/to/checkpointSpecifica il percorso della directory locale da utilizzare per i punti di controllo incrementali e di attraversamento completo. | 
Caricamenti di contenuti
I contenuti dell'elemento vengono caricati in Cloud Search insieme all'elemento quando le dimensioni dei contenuti non superano la soglia specificata. Se le dimensioni dei contenuti supera la soglia, i contenuti vengono caricati separatamente rispetto alla metadati e dati strutturati.
| Impostazione | Parametro | 
|---|---|
| Soglia contenuti | api.contentUploadThresholdBytes=bytesLa soglia per i contenuti che determina se vengono caricati "in linea" con dell'elemento rispetto a un caricamento separato.  Il valore predefinito è  | 
Container
Il modello di connettore completo utilizza un algoritmo che prevede il concetto di Pulsante di attivazione/disattivazione della coda dell'origine dati temporanea per rilevare i record eliminati nel database. Ciò significa che, a ogni attraversamento completo, i record recuperati, che si trovano in un nuova coda, sostituisci tutti i record Cloud Search esistenti indicizzati dalla attraversamento precedente, che si trovano in una vecchia coda.
| Impostazione | Parametro | 
|---|---|
| Tag nome container | traverse.queueTag=instanceEseguire più istanze del connettore in parallelo per indicizzare un dato comune su repository di dati diversi o in parti separate di un repository di dati) senza interferire tra loro, assegnare un container a ogni esecuzione del connettore. Un tag univoco impedisce che un connettore per impedire l'eliminazione dei record di un'altra istanza. Il tag viene aggiunto all'ID della coda di attivazione/disattivazione del connettore di attraversamento completo. | 
| Disabilita il rilevamento dell'eliminazione | traverse.useQueues=true|falseIndica se il connettore utilizza la logica di attivazione/disattivazione della coda per il rilevamento dell'eliminazione.  Il valore predefinito è  Nota: questo parametro di configurazione è applicabile solo ai connettori
        implementare il modello  | 
Criterio batch
L'SDK supporta un criterio batch che consente di eseguire quanto segue: azioni:
- Richieste batch
- Specifica il numero di richieste in una coda batch
- Gestisci batch eseguiti in contemporanea
- Elimina richieste in batch
L'SDK riunisce le richieste del connettore per velocizzare la velocità effettiva durante caricamenti. L'attivatore SDK per il caricamento di un batch di richieste è tramite il numero di richieste o il timeout, a seconda dell'evento che si verifica per primo. Ad esempio, se il tempo di ritardo del batch è scaduto senza che sia stata raggiunta la dimensione del batch oppure se dimensione del batch di elementi raggiunta prima della scadenza del tempo di ritardo, viene attivato il caricamento in gruppo.
| Impostazione | Parametro | 
|---|---|
| Richieste batch | batch.batchSizeRaggruppa le richieste. Il valore predefinito è  | 
| Numero di richieste in una coda batch | batch.maxQueueLength=maxQueueLength Numero massimo di richieste in una coda batch per l'esecuzione.
      Il valore predefinito è  | 
| Esecuzione contemporanea di batch | batch.maxActiveBatches=maxActiveBatches Numero di batch consentiti in esecuzione contemporaneamente.
      Il valore predefinito è  | 
| Esegui automaticamente lo svuotamento delle richieste in batch | batch.maxBatchDelaySeconds=maxBatchDelay Numero di secondi di attesa prima che le richieste in batch vengano
        viene fatto svuotare automaticamente. La
        il valore predefinito è  | 
| Fai svuotare le richieste in batch all'arresto | batch.flushOnShutdown=true|false Esegui il svuotamento delle richieste in batch durante l'arresto del servizio.
      Il valore predefinito è  | 
Gestori di eccezioni
I parametri dei gestori delle eccezioni determinano il modo in cui l'operatore procede dopo rileva un'eccezione.
| Impostazione | Parametro | 
|---|---|
| Istruzioni del trasferimento in caso di errore | traverse.exceptionHandler=exceptionsCome deve procedere l'agente di trasferimento dopo la generazione di un'eccezione. Valori validi sono: 
 | 
| Tempo di attesa tra le eccezioni | abortExceptionHander.backoffMilliSeconds=backoff Tempo di backoff in millisecondi di attesa tra le eccezioni rilevate dai gestori
        (solitamente utilizzata durante il trasferimento di un repository). Il valore predefinito è  |