Cada conector tiene un archivo de configuración asociado que contiene los parámetros utilizados por el conector,
como el ID de tu repositorio. Los parámetros se definen como pares clave-valor, como el siguiente:
api.sourceId=1234567890abcdef
El SDK de Google Cloud Search contiene varias herramientas de configuración proporcionadas por Google parámetros usados por diferentes conectores. De los parámetros de configuración que proporciona Google, Solo se requieren los parámetros de Acceso a la fuente de datos en tu de Terraform. No es necesario volver a definir los parámetros proporcionados por Google en en el archivo de configuración, a menos que quieras anular sus valores predeterminados.
En esta referencia, se describen los parámetros de configuración que proporciona Google.
Ejemplo de archivo de configuración
En el siguiente ejemplo, se muestra un archivo de configuración de identidad con pares clave-valor de parámetros.
# # 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 que se suelen establecer
En esta sección, se enumeran los parámetros de configuración obligatorios y opcionales que se suelen establecer. Si no cambiar valores para los parámetros opcionales, el conector utiliza los valores predeterminados que proporciona el SDK.
Acceso a la fuente de datos
En la siguiente tabla, se enumeran todos los parámetros necesarios para aparecer en una configuración . Los parámetros que utilice dependerán del tipo de conector que compile (conector de contenido) o conector de identidad).
Configuración | Parámetro |
---|---|
ID de la fuente de datos | api.sourceId=1234567890abcdef
Un conector requiere este parámetro para identificar el de tu repositorio. Obtendrás este valor cuando agregaste una fuente de datos a la búsqueda. Este parámetro debe estar en los archivos de configuración del conector. |
ID de la fuente de identidad | api.identitySourceId=0987654321lmnopq
Los conectores de identidad requieren este parámetro para identificar la ubicación de una fuente de identidad externa. Obtuviste este valor cuando asignar identidades de usuario en Cloud Search Este parámetro debe estar en todos los archivos de configuración del conector de identidad. |
Archivo de claves privadas de la cuenta de servicio | api.serviceAccountPrivateKeyFile=./PrivateKey.json
Este parámetro contiene la clave privada necesaria para acceder al repositorio. Obtuviste este valor cuando configuró el acceso al REST de Google Cloud Search API Este parámetro debe estar en todos los archivos de configuración. |
ID de cuenta de servicio | api.serviceAccountId=123abcdef4567890
Este parámetro especifica la cuenta de servicio ID. El valor predeterminado de cadena vacía solo se permite cuando el archivo de configuración especifica un parámetro del archivo de claves privadas. Este parámetro es obligatorio si tu archivo de claves privadas no es una clave JSON. |
ID de la cuenta de Google Workspace | api.customerId=123abcdef4567890
Este parámetro especifica el ID de la cuenta de Google Workspace de la empresa. Obtuviste este valor cuando asignas usuarios identidades en Cloud Search. Este parámetro es obligatorio cuando se sincronizan usuarios con un de identidad. |
URL raíz | api.rootUrl=baseURLPath
Este parámetro especifica la ruta de URL base del servicio de indexación. El valor predeterminado para este parámetro es una cadena vacía que se convierte en
|
Programaciones de recorrido
Los parámetros de programación determinan la frecuencia con la que el conector espera entre recorridos.
Configuración | Parámetro |
---|---|
Recorrido completo al inicio del conector | schedule.performTraversalOnStart=true|false
El conector realiza un recorrido completo en el inicio del conector, en lugar de hacerlo
a que caduque el primer intervalo. El valor predeterminado es |
Recorrido completo luego del intervalo | schedule.traversalIntervalSecs=intervalInSeconds
El conector realiza un recorrido completo después de un intervalo especificado. Especifica el
un intervalo entre recorridos en segundos. El valor predeterminado es |
Salir después de un único recorrido | connector.runOnce=true|false
El conector ejecuta un recorrido completo una vez y, luego, sale. Este parámetro solo debe
Establécelo en |
Recorrido incremental después de un intervalo | schedule.incrementalTraversalIntervalSecs=intervalInSeconds
El conector realiza un recorrido incremental después de un intervalo especificado.
Especifica el intervalo entre recorridos en segundos. El valor predeterminado es
|
Intervalos de la cola de sondeos programados | schedule.pollQueueIntervalSecs=interval_in_seconds
El intervalo entre los intervalos programados de la cola de sondeo (en segundos). Se usa
solo con un conector
de recorrido de lista. El valor predeterminado es |
Listas de control de acceso
El conector controla el acceso a los elementos mediante el uso de las LCA. Varios parámetros te permiten proteger el acceso de los usuarios a los registros indexados con LCA.
Si tu repositorio tiene información individual de LCA asociada con cada elemento, Subir toda la información de LCA para controlar el acceso a los elementos dentro de Cloud Search Si en tu repositorio proporciona información parcial o nula de las LCA, puedes indicar Información de LCA en los siguientes parámetros, que el SDK proporciona al o del conector.
Configuración | Parámetro |
---|---|
Modo de LCA | defaultAcl.mode=mode
Determina cuándo aplicar la LCA predeterminada. Valores válidos:
El modo predeterminado es |
LCA pública predeterminada | defaultAcl.public=true|false
La LCA predeterminada utilizada para todo el repositorio se establece en el acceso de dominio público.
El valor predeterminado es |
Lectores comunes del grupo de LCA | defaultAcl.readers.groups=google:group1@mydomain.com,
group2 |
Lectores comunes de LCA | defaultAcl.readers.users=user1, user2,
google:user3@mydomain.com |
Lectores comunes del grupo de LCA denegadas | defaultAcl.denied.groups=group3 |
Lectores comunes de LCA denegadas | defaultAcl.denied.users=user4, user5 |
Acceso de dominio completo | Especificar que todos los registros indexados deben ser de acceso público para todos los usuarios
en el dominio, configura los siguientes parámetros con valores:
|
LCA común definida | Para especificar una LCA para cada registro del repositorio de datos, configura todos los
los siguientes valores de parámetros:
|
Parámetros de configuración de metadatos
Algunos de los metadatos del elemento se pueden configurar. Los conectores pueden establecer campos de metadatos configurables durante la indexación de datos. Si el conector no establece un campo, se usarán los parámetros del archivo de configuración para configurar el campo.
El archivo de configuración tiene una serie de parámetros de configuración de metadatos con nombre que indica
un sufijo .field
, como
itemMetadata.title.field=movieTitle
Si existe un valor para estas
se usa para configurar el campo de metadatos. Si no hay un valor para el
de metadatos con nombre, estos se configuran mediante un parámetro con el
.defaultValue
).
En la siguiente tabla, se muestran los parámetros de configuración de metadatos.
Parámetro de configuración | Parámetro |
Título | itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=
Es el título del artículo. Si title.field no está establecido en un valor, el valor de
title.defaultValue está en uso.
|
URL del repositorio de código fuente | itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
La URL del elemento que se usa en los resultados de la búsqueda. Podrías configurar defaultValue para que contenga un
URL de todo el repositorio, por ejemplo, si tu representante es un archivo CSV y solo hay uno
URL de cada elemento. Si no se establece sourceRepositoryUrl.field
a un valor, se usa el valor de sourceRepositoryUrl.defaultValue .
|
Nombre del contenedor | itemMetadata.containerName.field=containerName
itemMetadata.containerName.defaultValue=myDefaultContainerName
Es el nombre del contenedor del elemento, como el nombre de una carpeta o directorio del sistema de archivos. Si containerName.field no está establecido en un valor, el valor para
containerName.defaultValue está en uso.
|
Tipo de objeto | itemMetadata.objectType.field=type itemMetadata.objectType.defaultValue=
El tipo de objeto utilizado por el conector, como se define en el esquema. El conector no indexará ningún dato estructurado si no se especifica esta propiedad. Si objectType.field no está establecido en un valor, el valor de
objectType.defaultValue está en uso.
|
Fecha de creación | itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
La marca de tiempo de creación del documento. Si createTime.field no está establecido en un valor,
se usa el valor de createTime.defaultValue .
|
Fecha de actualización | itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
Es la marca de tiempo de la última modificación del elemento. Si la opción updateTime.field no está configurada en
un valor, se usa el valor de updateTime.defaultValue .
|
Idioma del contenido | itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=
El idioma del contenido de los documentos que se indexan. Si el elemento contentLanguage.field
no se establece en un valor, se usa el valor de contentLanguage.defaultValue .
|
Tipo de MIME | itemMetadata.mimeType.field=mimeType
itemMetadata.mimeType.defaultValue=
El tipo MIME original de ItemContent.content en el repositorio de código fuente. La longitud máxima es de 256 caracteres. Si mimeType.field no está establecido en un valor, el valor de
mimeType.defaultValue está en uso.
|
Metadatos de calidad de búsqueda | itemMetadata.searchQualityMetadata.quality.field=quality
itemMetadata.searchQualityMetadata.quality.defaultValue=
Una indicación de la calidad del elemento, que se utiliza para influir en la calidad de la búsqueda. El valor debe ser entre 0.0 (calidad más baja) y 1.0 (calidad más alta). El valor predeterminado es 0.0. Si el botón quality.field no está establecido en un valor, el valor para
quality.defaultValue está en uso.
|
Hash | itemMetadata.hash.field=hash
itemMetadata.hash.defaultValue=f0fda58630310a6dd91a7d8f0a4ceda2
Valor de hash proporcionado por el llamador de la API. Esto se puede usar con el items.push para calcular el estado modificado. La longitud máxima es 2,048
caracteres. Si hash.field no está establecido en un valor, el valor de
hash.defaultValue está en uso.
|
Formatos de fecha y hora
Los formatos de fecha y hora especifican los formatos esperados en los atributos de metadatos. Si el archivo de configuración no contiene este parámetro, se usan los valores predeterminados. La siguiente tabla muestra este parámetro.
Parámetro de configuración | Parámetro |
Formatos de fecha y hora adicionales | structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
Una lista de java.time.format.DateTimeFormatter adicionales separados por punto y coma
o patrones. Los patrones se usan cuando se analizan valores de cadena para cualquier fecha o campos de fecha y hora
en los metadatos o el esquema. El valor predeterminado es una lista vacía, pero RFC 3339 y RFC 1123
formatos siempre son compatibles.
|
Datos estructurados
La API de Cloud Search Indexing proporciona un servicio de esquema que puedes usar para lo siguiente: personalizar la forma en que Cloud Search indexa y entrega tus datos. Si utilizas un esquema de repositorio local, debes especificar los datos estructurados locales nombre del esquema.
Configuración | Parámetro |
---|---|
Nombre del esquema local | structuredData.localSchema=mySchemaName
El nombre del esquema se lee desde la fuente de datos y se usa para el repositorio datos estructurados. El valor predeterminado es una string vacía. |
Calidad del contenido y de la búsqueda
Para los repositorios que contienen registros o contenido basado en campos (como un CRM, CVS, o base de datos), el SDK permite el formato HTML automático para los campos de datos. Tu El conector define los campos de datos al comienzo de la ejecución del conector y luego, utiliza una plantilla de contenido para dar formato a cada registro de datos antes de subirlo a Cloud Search.
La plantilla de contenido define la importancia de cada valor de campo para la búsqueda.
El <title>
de HTML
es obligatorio y se define como la prioridad más alta. Puedes
designa los niveles de importancia de calidad de búsqueda para todos los demás campos de contenido:
alta, media o baja. Cualquier campo de contenido no definido en una categoría específica
su prioridad predeterminada es baja.
Configuración | Parámetro |
---|---|
Título HTML del contenido | contentTemplate.templateName.title=myTitleField
El título HTML del contenido y el campo de mayor calidad de búsqueda. Este parámetro es obligatorio solo si usas una plantilla de contenido HTML. El valor predeterminado es un campo una cadena vacía. |
Alta calidad de búsqueda para los campos de contenido | contentTemplate.templateName.quality.high=hField1,hField2
Campos de contenido con una prioridad de búsqueda alta. El valor predeterminado es una string vacía. |
Calidad media de búsqueda para los campos de contenido | contentTemplate.templateName.quality.medium=mField1,mField2
Campos de contenido con una prioridad de búsqueda media. El valor predeterminado es una string vacía. |
Baja calidad de búsqueda para los campos de contenido | contentTemplate.templateName.quality.low=lField1,lField2
Campos de contenido con una prioridad de búsqueda baja. El valor predeterminado es una string vacía. |
Campos de contenido sin especificar | contentTemplate.templateName.unmappedColumnsMode=value
Cómo maneja el conector los campos de contenido no especificados. Estos son los valores válidos:
|
Incluir nombres de campo en la plantilla HTML | contentTemplate.templateName.includeFieldName=true|false
Especifica si se deben incluir los nombres de los campos junto con los datos de los campos en el HTML
plantilla. El valor predeterminado es |
Parámetros establecidos de manera poco frecuente
Rara vez necesitarás configurar los parámetros que se indican en esta sección. Los valores predeterminados de los parámetros son para obtener un rendimiento óptimo. Google recomienda no establecer estos parámetros para lo siguiente: valores distintos de sus valores predeterminados sin requisitos específicos en tu en un repositorio de confianza.
Configuración de proxy
El SDK te permite configurar el conector de modo que use un proxy para las conexiones salientes.
Los parámetros transport.proxy.hostname
y transport.proxy.port
son
necesarias para habilitar el transporte a través de un proxy. Es posible que otros parámetros sean obligatorios
si su proxy requiere autenticación o opera a través del protocolo SOCKS en lugar de HTTP. Si
Si no se configura transport.proxy.hostname
, el SDK no usará un proxy.
Configuración | Parámetro |
---|---|
Nombre de host | transport.proxy.hostname=hostname
El nombre de host del servidor proxy. Este parámetro es obligatorio cuando se usa un proxy. |
Puerto | transport.proxy.port=port
El número de puerto del servidor proxy. Este parámetro es obligatorio cuando se usa un proxy. |
Tipo de proxy | transport.proxy.type=type
El tipo de proxy. Estos son los valores válidos:
El valor predeterminado es |
Nombre de usuario | transport.proxy.username=username
El nombre de usuario que se usará para construir un token de autorización de proxy. Este parámetro es opcional y solo se debe configurar si tu proxy requiere autenticación. |
Contraseña | transport.proxy.password=password
La contraseña que se usará para construir un token de autorización de proxy. Este parámetro es opcional y solo se debe configurar si tu proxy requiere autenticación. |
Desviadores
El SDK te permite especificar varios desviadores individuales para permitir de un repositorio de datos. Los conectores de plantillas del SDK usan .
Configuración | Parámetro |
---|---|
Tamaño del conjunto de subprocesos | traverse.threadPoolSize=size
Cantidad de subprocesos que crea el conector para permitir el procesamiento en paralelo. R iterador único recupera operaciones en serie (por lo general, objetos RepositoryDoc) pero las llamadas a la API se procesan en paralelo con esta cantidad de subprocesos. El valor predeterminado es |
Tamaño de partición | traverse.partitionSize=batchSize
Cantidad de El valor predeterminado es |
Solicitudes de sondeo de desviador
El núcleo de la cola de indexación de Cloud Search es una cola de prioridad que contiene un entrada para cada elemento que se sabe que existe. Un conector de fichas puede solicitar el sondeo elementos de la API de indexación. Una solicitud de sondeo obtiene las entradas de mayor prioridad. de la cola de indexación.
La plantilla del conector de enumeración del SDK usa los siguientes parámetros para lo siguiente: definir los parámetros de sondeo.
Configuración | Parámetro |
---|---|
Desviador de repositorio | repository.traversers=t1, t2, t3, ...
Crea uno o más desviadores individuales en los que t1, t2, t3,
... es el nombre único de cada una. Cada desviador con nombre tiene su propio conjunto de parámetros de configuración
que se identifican con el nombre único del desviador, como
|
Fila que se sondeará | traverser.pollRequest.queue=mySpecialQueue
Nombres de cola que este desviador sondea. El valor predeterminado es una cadena vacía (implica “predeterminado”). |
traverser.t1.pollRequest.queue=mySpecialQueue
Cuando tienes varios desviadores, establece los estados de los elementos para cada uno (donde t1, representa un desviador específico). |
|
Comportamiento de sondeo | traverser.pollRequest.limit=maxItems
Cantidad máxima de elementos que se pueden mostrar a partir de una solicitud de sondeo.
El valor predeterminado es |
traverser.t1.pollRequest.limit=limit
Cuando tienes varios desviadores, establece los estados de los elementos para cada uno (donde t1, representa un desviador específico). |
|
Estado del elemento | traverser.pollRequest.statuses=statuses
Los estados del elemento específico que sondea este desviador, en los que statuses puede ser
cualquier combinación de |
traverser.t1.pollRequest.statuses=statusesForThisTraverser
Cuando tienes varios desviadores, establece los estados del elemento para cada desviador (donde t1, representa un desviador específico). | |
Carga del host | traverser.hostload=threads
Cantidad máxima de subprocesos paralelos activos disponibles para el sondeo. Predeterminado
el valor es |
traverser.t1.hostload=threadsForThisTraverser
Cuando tienes varios desviadores, establece los estados del elemento para cada desviador (donde t1, representa un desviador específico). |
|
Tiempo de espera | traverser.timeout=timeout
Valor de tiempo de espera para interrumpir este intento de sondeo de desviador. El valor predeterminado es |
traverser.t1.timeout=timeoutForThisTraverser
Cuando tienes varios desviadores, establece los estados del elemento para cada desviador (donde t1, representa un desviador específico). |
|
traverser.timeunit=timeoutUunit
Las unidades de tiempo de espera. Los valores válidos son |
|
traverser.t1.timeunit=timeoutUnit
Cuando tienes varios desviadores, establece los estados del elemento para cada desviador (donde t1, representa un desviador específico). |
En la mayoría de los casos, un conector que usa solo la plantilla de conectores de la lista de SDK requiere un solo conjunto de parámetros para el sondeo. En algunos casos, es posible que debas definir más de un criterio de sondeo si tu algoritmo de recorrido requiere separar el procesamiento de elementos con diferentes colas, por ejemplo.
En este caso, tienes la opción de definir varios conjuntos de sondeos
parámetros. Comienza especificando los nombres de los conjuntos de parámetros con
repository.traversers
Para cada nombre de desviador definido, proporciona el valor
de configuración de Terraform con los parámetros de la tabla anterior, en lugar de
t1
por el nombre de desviador Esto crea un conjunto de sondeos
parámetros para cada desviador definido.
Puntos de control
Un punto de control es útil para rastrear el estado de un recorrido incremental.
Configuración | Parámetro |
---|---|
Directorio de puntos de control | connector.checkpointDirectory=/path/to/checkpoint
Especifica la ruta de acceso al directorio local que se usará para los puntos de control de recorrido incremental y completo. |
Cargas de contenido
El contenido del elemento se sube a Cloud Search con el elemento cuando el tamaño del contenido no supera el umbral especificado. Si el tamaño del contenido supera el límite, el contenido se sube por separado del metadatos y datos estructurados.
Configuración | Parámetro |
---|---|
Umbral de contenido | api.contentUploadThresholdBytes=bytes
El umbral para el contenido que determina si se sube “en línea” con en lugar de usar una carga independiente. El valor predeterminado es |
Contenedores
La plantilla de conector completa usa un algoritmo que implica el concepto de una Botón de activación de cola de fuente de datos temporal para detectar registros borrados en la base de datos. Esto significa que, en cada recorrido completo, los registros recuperados, que se encuentran nueva cola, reemplaza todos los registros existentes de Cloud Search indexados en una cola anterior.
Configuración | Parámetro |
---|---|
Etiqueta de nombre del contenedor | traverse.queueTag=instance
Para ejecutar varias instancias del conector en paralelo a fin de indexar un dato común en un repositorio común (ya sea en diferentes repositorios de datos o en partes separadas de una repositorio de datos) sin interferir entre sí, asigna un contenedor único etiqueta de identificación a cada ejecución del conector. Una etiqueta de identificación única impide que un conector para que una instancia no borre los registros de otro. La etiqueta de identificación se agrega al ID de la cola de activación o desactivación del conector de recorrido completo. |
Inhabilitar la detección de eliminaciones | traverse.useQueues=true|false
Indica si el conector usa la lógica de activación de la cola para la detección de eliminaciones. El valor predeterminado es Nota: Este parámetro de configuración solo se aplica a los conectores
implementando la plantilla |
Política de lotes
El SDK admite una política de lotes que te permite realizar lo siguiente: acciones:
- Utiliza solicitudes por lotes
- Especifica la cantidad de solicitudes en una cola por lotes
- Administra lotes en ejecución simultánea
- Limpiar solicitudes por lotes
El SDK agrupa en lotes las solicitudes del conector para acelerar la capacidad de procesamiento durante cargas. El activador del SDK para subir un lote de solicitudes es mediante la cantidad de solicitudes o el tiempo de espera, lo que ocurra primero. Por ejemplo, si el el tiempo de retraso del lote venció sin que se alcanzara el tamaño del lote o si Se alcanza el tamaño del lote de elementos antes de que venza el tiempo de retraso, luego se activa la carga por lotes.
Configuración | Parámetro |
---|---|
Utiliza solicitudes por lotes | batch.batchSize
Agrupa las solicitudes en lotes. El valor predeterminado es |
Cantidad de solicitudes en una cola por lotes | batch.maxQueueLength=maxQueueLength
Cantidad máxima de solicitudes en una cola por lotes para la ejecución.
El valor predeterminado es |
Ejecución simultánea de lotes | batch.maxActiveBatches=maxActiveBatches
Cantidad de lotes de ejecución simultánea permitidos.
El valor predeterminado es |
Limpiar solicitudes por lotes automáticamente | batch.maxBatchDelaySeconds=maxBatchDelay
Cantidad de segundos que se debe esperar antes de que se completen las solicitudes por lotes
se vaciado automáticamente. El
el valor predeterminado es |
Vaciar solicitudes por lotes durante el cierre | batch.flushOnShutdown=true|false
Vacía las solicitudes por lotes durante el cierre del servicio.
El valor predeterminado es |
Controladores de excepciones
Los parámetros de los controladores de excepciones determinan el avance del desviador después de él. encuentra una excepción.
Configuración | Parámetro |
---|---|
Instrucción del desviador en caso de error | traverse.exceptionHandler=exceptions
Cómo debe proceder el desviador después de que se produce una excepción. Valores válidos son:
|
Tiempo de espera entre excepciones | abortExceptionHander.backoffMilliSeconds=backoff
Tiempo de retirada en milisegundos para esperar entre las excepciones del controlador detectadas
(por lo general, se usa cuando se recorre un repositorio). El valor predeterminado es |