Cada conector tem um arquivo de configuração associado que contém os parâmetros usados pelo conector.
como o ID do seu repositório. Os parâmetros são definidos como pares de chave-valor, como:
api.sourceId=1234567890abcdef
O SDK do Google Cloud Search contém várias configurações fornecidas pelo Google parâmetros usados por diferentes conectores. Dos parâmetros de configuração fornecidos pelo Google, Somente os parâmetros de Acesso à fonte de dados precisam ser definidos no de configuração do Terraform. Não é necessário redefinir os parâmetros fornecidos pelo Google seu arquivo de configuração, a menos que você queira substituir os valores padrão.
Esta referência descreve os parâmetros de configuração fornecidos pelo Google.
Exemplo de arquivo de configuração
O exemplo a seguir mostra um arquivo de configuração de identidade com pares de chave-valor do parâmetro.
# # 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
Parâmetros normalmente definidos
Esta seção lista os parâmetros de configuração obrigatórios e opcionais definidos com frequência. Se você não alterar valores para os parâmetros opcionais, o conector usa os valores padrão fornecidos pelo SDK.
Acesso à fonte de dados
A tabela a seguir lista todos os parâmetros que precisam aparecer em uma configuração . Os parâmetros usados dependem do tipo de conector que você está criando (conector de conteúdo) ou conector de identidade).
Configuração | Parâmetro |
---|---|
Código da fonte de dados | api.sourceId=1234567890abcdef
Esse parâmetro é exigido pelo conector para identificar local do repositório. Você consegue esse valor quando adicionou uma origem de dados para pesquisar. Esse parâmetro precisa estar nos arquivos de configuração do conector. |
ID da origem de identidade | api.identitySourceId=0987654321lmnopq
Esse parâmetro é exigido pelos conectores de identidade para identificar o local de uma origem de identidade externa. Você obteve esse valor quando mapear as identidades dos usuários no Cloud Search. Esse parâmetro precisa estar em todos os arquivos de configuração do conector de identidade. |
Arquivo de chave privada da conta de serviço | api.serviceAccountPrivateKeyFile=./PrivateKey.json
Esse parâmetro contém a chave privada necessária para acessar o repositório. Você obteve esse valor quando acesso configurado à API REST do Google Cloud Search API. Esse parâmetro precisa estar em todos os arquivos de configuração. |
ID da conta de serviço | api.serviceAccountId=123abcdef4567890
Este parâmetro especifica a conta de serviço ID. O valor padrão de string vazia só é permitido quando o arquivo de configuração especifica um parâmetro de arquivo de chave privada. Esse parâmetro será obrigatório se o arquivo de chave privada não é uma chave JSON. |
ID da conta do Google Workspace | api.customerId=123abcdef4567890
Este parâmetro especifica o ID da conta do Google Workspace da empresa. Você obteve esse valor quando você mapeia o ID identidades no Cloud Search. Esse parâmetro é obrigatório ao sincronizar usuários usando uma conector de identidade. |
URL raiz | api.rootUrl=baseURLPath
Este parâmetro especifica o caminho do URL base do serviço de indexação. O valor padrão desse parâmetro é uma string vazia que é convertida em
|
Programações de processamento
Os parâmetros de programação determinam a frequência com que o conector aguarda entre traversals.
Configuração | Parâmetro |
---|---|
Traversal total na inicialização do conector | schedule.performTraversalOnStart=true|false
O conector executa uma travessia completa na inicialização do conector, em vez de
aguardando o primeiro intervalo expirar. O valor padrão é |
Traversal completa após um intervalo | schedule.traversalIntervalSecs=intervalInSeconds
O conector executa uma traversal completa após um intervalo especificado. Especifique o
o intervalo entre travessias em segundos. O valor padrão é |
Sair após uma única travessia | connector.runOnce=true|false
O conector executa uma travessia completa uma vez e sai. Esse parâmetro só deve
ser definido como |
Travessia incremental após um intervalo | schedule.incrementalTraversalIntervalSecs=intervalInSeconds
O conector executa uma travessia incremental após um intervalo especificado.
Especifique o intervalo entre as traversais em segundos. O valor padrão é
|
Intervalos da fila de enquetes programadas | schedule.pollQueueIntervalSecs=interval_in_seconds
O intervalo entre os intervalos da fila de enquetes programadas (em segundos). Isso é usado
apenas por um conector de travessia de fichas de empresas. O valor padrão é |
Listas de controle de acesso
O conector usa ACLs para controlar o acesso aos itens. Vários parâmetros permitem proteger o acesso do usuário aos registros indexados com ACLs.
Se o repositório tiver informações individuais de ACL associadas a cada item, fazer o upload de todas as informações da ACL para controlar o acesso aos itens no Cloud Search. Se seu repositório fornecer informações parciais ou nenhuma informação da ACL, será possível fornecer As informações da ACL nos parâmetros a seguir, que o SDK fornece ao conector.
Configuração | Parâmetro |
---|---|
Modo da ACL | defaultAcl.mode=mode
Determina quando aplicar a ACL padrão. Valores válidos:
O modo padrão é |
ACL pública padrão | defaultAcl.public=true|false
A ACL padrão usada para todo o repositório é definida como acesso de domínio público.
O valor padrão é |
Leitores de grupo de ACL comum | defaultAcl.readers.groups=google:group1@mydomain.com,
group2 |
Leitores de ACL comum | defaultAcl.readers.users=user1, user2,
google:user3@mydomain.com |
Leitores de grupo de ACL comum negados | defaultAcl.denied.groups=group3 |
Leitores de ACL comum negados | defaultAcl.denied.users=user4, user5 |
Acesso ao domínio inteiro | especificar que todos os registros indexados sejam acessíveis publicamente por todos os usuários.
no domínio, defina os dois parâmetros a seguir com valores:
|
ACL comum definida | Para especificar uma ACL para cada registro do repositório de dados, defina todos os
valores de parâmetro a seguir:
|
Parâmetros de configuração de metadados
Alguns dos metadados do item podem ser configurados. Os conectores podem definir campos de metadados configuráveis durante indexação. Se o conector não definir um campo, os parâmetros no seu arquivo de configuração serão usados para definir o campo.
O arquivo de configuração tem uma série de parâmetros de configuração de metadados nomeados, indicados pela
um sufixo .field
, como
itemMetadata.title.field=movieTitle
. Se houver um valor para essas
parâmetros, ele é usado para configurar o campo de metadados. Se não houver valor para o atributo
metadados, os metadados são configurados usando um parâmetro com o
.defaultValue
).
A tabela a seguir mostra os parâmetros de configuração dos metadados.
Configuração | Parâmetro |
Título | itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=
O título do item. Se o title.field não for definido como um valor, o valor
title.defaultValue é usado.
|
URL do repositório de origem | itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
O URL do item usado nos resultados da pesquisa. É possível definir o defaultValue para conter
URL para todo o repositório, por exemplo, caso seu repositório seja um arquivo CSV e haja apenas um
o URL de cada item. Se o sourceRepositoryUrl.field não estiver definido
como um valor, o valor de sourceRepositoryUrl.defaultValue será usado.
|
Nome do contêiner | itemMetadata.containerName.field=containerName
itemMetadata.containerName.defaultValue=myDefaultContainerName
O nome do contêiner do item, como o nome de uma pasta ou diretório do sistema de arquivos. Se containerName.field não estiver definido como um valor, o valor de
containerName.defaultValue é usado.
|
Tipo de objeto | itemMetadata.objectType.field=type itemMetadata.objectType.defaultValue=
O tipo de objeto usado pelo conector, conforme definido no esquema. O conector não indexará nenhum dado estruturado se essa propriedade não for especificada. Se o objectType.field não for definido como um valor, o valor de
objectType.defaultValue é usado.
|
Horário de criação | itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
O carimbo de data/hora de criação do documento. Se o createTime.field não estiver definido como um valor, o
para createTime.defaultValue é usado.
|
Horário de atualização | itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
O carimbo de data/hora da última modificação do item. Se o updateTime.field não estiver definido como
um valor, o valor de updateTime.defaultValue será usado.
|
Idioma do conteúdo | itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=
O idioma do conteúdo dos documentos que estão sendo indexados. Se o contentLanguage.field
não for definido como um valor, o valor de contentLanguage.defaultValue será usado.
|
Tipo MIME | itemMetadata.mimeType.field=mimeType
itemMetadata.mimeType.defaultValue=
O tipo MIME original de ItemContent.content no repositório de origem. O tamanho máximo é 256 caracteres. Se o mimeType.field não for definido como um valor, o valor
mimeType.defaultValue é usado.
|
Metadados de qualidade da pesquisa | itemMetadata.searchQualityMetadata.quality.field=quality
itemMetadata.searchQualityMetadata.quality.defaultValue=
Uma indicação da qualidade do item, usada para influenciar a qualidade da pesquisa. O valor deve ser entre 0,0 (qualidade mais baixa) e 1,0 (qualidade mais alta). O valor padrão é 0,0. Se o quality.field não estiver definido como um valor, o valor de
quality.defaultValue é usado.
|
Hash | itemMetadata.hash.field=hash
itemMetadata.hash.defaultValue=f0fda58630310a6dd91a7d8f0a4ceda2
Valor de hash fornecido pelo autor da chamada da API. Isso pode ser usado com o Método items.push para calcular o estado modificado. O tamanho máximo é 2.048
caracteres. Se o hash.field não for definido como um valor, o valor
hash.defaultValue é usado.
|
Formatos de data e hora
Os formatos de data e hora especificam os formatos esperados nos atributos de metadados. Se o arquivo de configuração não contiver esse parâmetro, os valores padrão serão usados. A tabela a seguir mostra esse parâmetro.
Configuração | Parâmetro |
Formatos adicionais de data e hora | structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
Uma lista separada por ponto e vírgula de java.time.format.DateTimeFormatter adicionais
desenhos. Os padrões são usados ao analisar valores de string de quaisquer campos de data ou data-hora.
nos metadados ou no esquema. O valor padrão é uma lista vazia, mas o RFC 3339 e o RFC 1123
formatos são sempre suportados.
|
Dados estruturados
A API Cloud Search Prediction oferece um serviço de esquema que pode ser usado para personalizar como o Cloud Search indexa e disponibiliza os dados. Se você estiver usando um esquema do repositório local, é preciso especificar o local dos dados estruturados nome de esquema definido.
Configuração | Parâmetro |
---|---|
Nome do esquema local | structuredData.localSchema=mySchemaName
O nome do esquema é lido na fonte de dados e usado para o repositório dados estruturados. O padrão é uma string vazia. |
Qualidade da pesquisa e do conteúdo
Para repositórios que contêm conteúdo baseado em registro ou campo (como CRM, CVS, ou banco de dados), o SDK permite a formatação HTML automática para campos de dados. Seu conector define os campos de dados no início da execução do conector e usa um modelo de conteúdo para formatar cada registro de dados antes de enviá-lo ao Cloud Search.
O modelo de conteúdo define a importância de cada valor de campo para pesquisa.
O arquivo HTML <title>
é obrigatório e definido como a prioridade mais alta. Você pode
designar níveis de importância de qualidade de pesquisa para todos os outros campos de conteúdo:
alta, média ou baixa. Qualquer campo de conteúdo não definido em uma categoria específica
tem prioridade baixa por padrão.
Configuração | Parâmetro |
---|---|
Título HTML de conteúdo | contentTemplate.templateName.title=myTitleField
O título HTML do conteúdo e o campo de qualidade mais alta da pesquisa. Este parâmetro é obrigatório somente se você estiver usando um modelo de conteúdo HTML. O valor padrão é um valor vazio fio. |
Alta qualidade da pesquisa para campos de conteúdo | contentTemplate.templateName.quality.high=hField1,hField2
Campos de conteúdo com alta prioridade de pesquisa. O padrão é uma string vazia. |
Qualidade da pesquisa média para campos de conteúdo | contentTemplate.templateName.quality.medium=mField1,mField2
Campos de conteúdo com uma prioridade de pesquisa média. O padrão é uma string vazia. |
Baixa qualidade de pesquisa para campos de conteúdo | contentTemplate.templateName.quality.low=lField1,lField2
Campos de conteúdo com baixa prioridade de pesquisa. O padrão é uma string vazia. |
Campos de conteúdo não especificado | contentTemplate.templateName.unmappedColumnsMode=value
Como o conector lida com campos de conteúdo não especificado. Os valores válidos são:
|
Incluir nomes de campos no modelo HTML | contentTemplate.templateName.includeFieldName=true|false
Especifica se é necessário incluir os nomes dos campos junto com os dados do campo no HTML
modelo. O padrão é |
Parâmetros definidos raramente
Raramente é necessário definir os parâmetros listados nesta seção. Os padrões dos parâmetros são para ter o melhor desempenho possível. O Google não recomenda definir esses parâmetros como diferentes dos padrões, sem requisitos específicos em sua repositório de dados.
Configuração do proxy
Com o SDK, você pode configurar seu conector para usar um proxy em conexões de saída.
Os parâmetros transport.proxy.hostname
e transport.proxy.port
são
necessárias para ativar o transporte por meio de um proxy. Os outros parâmetros podem ser necessários
se o seu proxy exigir autenticação ou operar por meio do protocolo SOCKS em vez de HTTP. Se
transport.proxy.hostname
não está definido, o SDK não vai usar um proxy.
Configuração | Parâmetro |
---|---|
Nome do host | transport.proxy.hostname=hostname
O nome do host do servidor proxy. Esse parâmetro é obrigatório ao usar um proxy. |
Porta | transport.proxy.port=port
O número da porta do servidor proxy. Esse parâmetro é obrigatório ao usar um proxy. |
Tipo de proxy | transport.proxy.type=type
O tipo de proxy. Os valores válidos são:
O valor padrão é |
Nome de usuário | transport.proxy.username=username
O nome de usuário a ser usado ao criar um token de autorização de proxy. Esse parâmetro é opcional e só deverá ser definido se o proxy exigir autenticação. |
Senha | transport.proxy.password=password
A senha a ser usada ao criar um token de autorização de proxy. Esse parâmetro é opcional e só deverá ser definido se o proxy exigir autenticação. |
Passadores
O SDK permite que você especifique vários atravessadores individuais para permitir travessias paralelas de um repositório de dados. Os conectores de modelo do SDK usam .
Configuração | Parâmetro |
---|---|
Tamanho do pool de linhas de execução | traverse.threadPoolSize=size
Número de linhas de execução que o conector cria para permitir o processamento paralelo. Um um único iterador busca operações em série (normalmente objetos RepositoryDoc), mas a API chama processos em paralelo usando esse número de linhas de execução. O valor padrão é |
Tamanho de partição | traverse.partitionSize=batchSize
Número de O valor padrão é |
Solicitações de enquetes do atravessador
O núcleo da fila de indexação do Cloud Search é uma fila prioritária que contém uma entrada para cada item conhecido por existir. Um conector de ficha da empresa pode solicitar uma pesquisa itens da API de indexação. Uma solicitação de enquete recebe as entradas de prioridade mais alta da fila de indexação.
Os parâmetros a seguir são usados pelo modelo do conector da página de detalhes do SDK para definir parâmetros de pesquisa.
Configuração | Parâmetro |
---|---|
Perversor de repositórios | repository.traversers=t1, t2, t3, ...
Cria um ou mais atravessadores individuais, em que t1, t2, t3.
... é o nome exclusivo de cada um. Cada atravessador nomeado tem seu próprio conjunto de configurações
que são identificados usando o nome exclusivo do atravessador, como
|
Fila para enquete | traverser.pollRequest.queue=mySpecialQueue
Nomes de fila que este atravessador pesquisa. O padrão é uma string vazia (implica "padrão"). |
traverser.t1.pollRequest.queue=mySpecialQueue
Quando você tiver vários atravessadores, defina o status do item para cada um deles. (em que t1 representa um atravessador específico). |
|
Comportamento de enquete | traverser.pollRequest.limit=maxItems
Número máximo de itens para retornar de uma solicitação de sondagem.
O valor padrão é |
traverser.t1.pollRequest.limit=limit
Quando você tiver vários atravessadores, defina o status do item para cada um deles. (em que t1 representa um atravessador específico). |
|
Status do item | traverser.pollRequest.statuses=statuses
O status do item específico que esse atravessador pesquisa, em que statuses pode ser
qualquer combinação de |
traverser.t1.pollRequest.statuses=statusesForThisTraverser
Quando você tiver vários atravessadores, defina o status do item para cada um deles (em que t1, representa um atravessador específico). | |
Carga do host | traverser.hostload=threads
Número máximo de linhas de execução paralelas ativas disponíveis para pesquisa. O padrão
o valor é |
traverser.t1.hostload=threadsForThisTraverser
Quando você tiver vários atravessadores, defina o status do item para cada um deles (em que t1, representa um atravessador específico). |
|
Tempo limite | traverser.timeout=timeout
Valor de tempo limite para interromper essa tentativa de pesquisa de atravessador. O valor padrão é |
traverser.t1.timeout=timeoutForThisTraverser
Quando você tiver vários atravessadores, defina o status do item para cada um deles (em que t1, representa um atravessador específico). |
|
traverser.timeunit=timeoutUunit
As unidades de tempo limite. Os valores válidos são: |
|
traverser.t1.timeunit=timeoutUnit
Quando você tiver vários atravessadores, defina o status do item para cada um deles (em que t1, representa um atravessador específico). |
Na maioria dos casos, um conector que usa apenas o modelo de conector de listagem do SDK requer um único conjunto de parâmetros para a sondagem. Em alguns casos, você pode precisar definir mais de um critério de sondagem se o algoritmo de travessia exigir separando o processamento de itens usando filas diferentes, por exemplo.
Nesse caso, você tem a opção de definir vários conjuntos de sondagem
parâmetros. Comece especificando os nomes dos conjuntos de parâmetros usando o
repository.traversers
: Para cada nome de atravessador definido, forneça o
de configuração pelos parâmetros na tabela acima, substituindo os
t1
pelo nome do atravessador. Isso cria um conjunto de pesquisas
parâmetros para cada atravessador definido.
Checkpoints
Um checkpoint é útil para rastrear o estado de uma travessia incremental.
Configuração | Parâmetro |
---|---|
Diretório do checkpoint | connector.checkpointDirectory=/path/to/checkpoint
Especifica o caminho para o diretório local a ser usado para os checkpoints de travessia incremental e completa. |
Uploads de conteúdo
O conteúdo do item é enviado para o Cloud Search com o item quando o o tamanho do conteúdo não excede o limite especificado. Se o tamanho do conteúdo exceder o limite, o conteúdo será enviado separadamente do metadados e dados estruturados.
Configuração | Parâmetro |
---|---|
Limite de conteúdo | api.contentUploadThresholdBytes=bytes
O limite para o conteúdo que determina se é enviado "in-line" com para o item versus usar um upload separado. O valor padrão é |
Contêineres
O modelo de conector completo usa um algoritmo que envolve o conceito de uma botão temporário da fila da fonte de dados para detectar registros excluídos no banco de dados. Isso significa que, em cada travessia completa, os registros obtidos, que estão em um nova fila, substitua todos os registros do Cloud Search indexados a partir da travessia anterior, que estão em uma fila antiga.
Configuração | Parâmetro |
---|---|
Tag de nome do contêiner | traverse.queueTag=instance
Executar várias instâncias do conector em paralelo para indexar um conjunto de dados comum repositório de dados (seja em diferentes repositórios de dados ou em partes separadas de um ambiente repositório de dados) sem interferir uns nos outros, atribua um contêiner tag de nome a cada execução do conector. Uma tag de nome exclusiva impede que um conector exclua os registros de outra instância. A tag de nome é anexada ao ID da fila de alternância do Conector de travessia completo. |
Desativar detecção de exclusão | traverse.useQueues=true|false
Indica se o conector usa a lógica de alternância de filas para a detecção de exclusões. O valor padrão é Observação: esse parâmetro de configuração se aplica apenas aos conectores
implementar o modelo |
Política de lote
O SDK é compatível com uma política de lote que permite realizar as seguintes ações: ações:
- Solicitações em lote
- Especificar o número de solicitações em uma fila em lote
- Gerenciar lotes em execução simultânea
- Limpar solicitações em lote
O SDK agrupa as solicitações do conector em lotes para acelerar a capacidade durante de conteúdo. O gatilho do SDK para o upload de um lote de solicitações é pelo o número de solicitações ou o tempo limite, o que ocorrer primeiro. Por exemplo, se o o tempo de atraso do lote tiver expirado sem que o tamanho do lote tenha sido atingido ou se o o número do tamanho do lote de itens é atingido antes que o tempo de atraso expire, o upload em lote é acionado.
Configuração | Parâmetro |
---|---|
Solicitações em lote | batch.batchSize
Solicitações em lote juntas. O valor padrão é |
Número de solicitações em uma fila em lote | batch.maxQueueLength=maxQueueLength
Número máximo de solicitações em uma fila em lote para execução.
O valor padrão é |
Execução simultânea de lotes | batch.maxActiveBatches=maxActiveBatches
Número de lotes de execução simultânea permitidos.
O valor padrão é |
Limpar automaticamente as solicitações em lote | batch.maxBatchDelaySeconds=maxBatchDelay
Número de segundos para aguardar antes que as solicitações em lote sejam
são transferidas automaticamente. A
o valor padrão é |
Limpar solicitações em lote no encerramento | batch.flushOnShutdown=true|false
Apague as solicitações em lote durante a desativação do serviço.
O valor padrão é |
Gerenciadores de exceções
Os parâmetros do gerenciador de exceções determinam como o atravessador prossegue depois dele encontrar uma exceção.
Configuração | Parâmetro |
---|---|
Instrução de passagem em caso de erro | traverse.exceptionHandler=exceptions
Como o atravessador deve proceder depois que uma exceção é gerada. Valores válidos são:
|
Tempo de espera entre exceções | abortExceptionHander.backoffMilliSeconds=backoff
Tempo de espera em milissegundos para aguardar entre as exceções detectadas do gerenciador
(normalmente usada ao percorrer um repositório). O valor padrão é |