REST Resource: indexing.datasources.items

Recurso: Elemento

Representa un solo objeto que es un elemento del índice de búsqueda, como un archivo, una carpeta o un registro de base de datos.

Representación JSON
{
  "name": string,
  "acl": {
    object (ItemAcl)
  },
  "metadata": {
    object (ItemMetadata)
  },
  "structuredData": {
    object (ItemStructuredData)
  },
  "content": {
    object (ItemContent)
  },
  "version": string,
  "status": {
    object (ItemStatus)
  },
  "queue": string,
  "payload": string,
  "itemType": enum (Item.ItemType)
}
Campos
name

string

Es el nombre del artículo. Formato: datasources/{sourceId}/items/{itemId}

Este es un campo obligatorio. La longitud máxima es de 1,536 caracteres.

acl

object (ItemAcl)

Es la lista de control de acceso de este elemento.

metadata

object (ItemMetadata)

La información de los metadatos

structuredData

object (ItemStructuredData)

Son los datos estructurados del elemento que deben cumplir con una definición de objeto registrada en el esquema de la fuente de datos.

content

object (ItemContent)

Es el contenido del elemento que se indexará y que se podrá buscar en el texto.

version

string (bytes format)

Obligatorio. El sistema de indexación almacena la versión de la fuente de datos como una cadena de bytes y compara la versión del artículo en el índice con la versión del artículo en cola mediante el orden léxico.

La indexación de Cloud Search no indexará ni borrará ningún elemento en cola con un valor de versión que sea menor o igual que la versión del elemento indexado actualmente. La longitud máxima de este campo es de 1,024 bytes.

Para obtener información sobre cómo la versión del elemento afecta el proceso de eliminación, consulta Cómo controlar las revisiones después de las eliminaciones manuales.

String codificada en base64.

status

object (ItemStatus)

Estado del artículo. Es un campo de solo salida.

queue

string

Es la cola a la que pertenece este elemento. La longitud máxima es de 100 caracteres.

payload

string (bytes format)

El conector de estado adicional puede almacenar para este elemento. La longitud máxima es de 10,000 bytes.

String codificada en base64.

itemType

enum (Item.ItemType)

Es el tipo de este elemento.

ItemAcl

Información de la lista de control de acceso del elemento. Para obtener más información, consulta Cómo asignar LCA.

Representación JSON
{
  "inheritAclFrom": string,
  "aclInheritanceType": enum (ItemAcl.AclInheritanceType),
  "readers": [
    {
      object (Principal)
    }
  ],
  "deniedReaders": [
    {
      object (Principal)
    }
  ],
  "owners": [
    {
      object (Principal)
    }
  ]
}
Campos
inheritAclFrom

string

Es el nombre del elemento del que se heredará la lista de permisos de acceso (ACL). Nota: La herencia de ACL solo proporciona permisos de acceso a los elementos secundarios y no define relaciones estructurales ni proporciona formas convenientes de borrar grandes grupos de elementos. Si borras un elemento superior de la LCA del índice, solo se alteran los permisos de acceso de los elementos secundarios que hacen referencia al elemento superior en el campo inheritAclFrom. El elemento sigue en el índice, pero es posible que no aparezca en los resultados de la búsqueda. Por el contrario, si borras un elemento contenedor, también se borran todos los elementos que hacen referencia al contenedor a través del campo containerName. La longitud máxima de este campo es de 1,536 caracteres.

aclInheritanceType

enum (ItemAcl.AclInheritanceType)

Establece el tipo de reglas de acceso que se aplicarán cuando un elemento herede su LCA de un elemento superior. Siempre se debe configurar en conjunto con el campo inheritAclFrom. Además, cuando se establece el campo inheritAclFrom, este debe establecerse en un AclInheritanceType válido.

readers[]

object (Principal)

Es la lista de principales que pueden ver el elemento en los resultados de la búsqueda. Es opcional si hereda permisos de otro elemento o si no se pretende que el elemento sea visible, como virtual containers. La cantidad máxima de elementos es 1,000.

deniedReaders[]

object (Principal)

Es la lista de principales a los que se les niega de forma explícita el acceso al elemento en los resultados de la búsqueda. Si bien se les niega el acceso a los principales de forma predeterminada, usa lectores denegados para controlar las excepciones y anular la lista de lectores permitidos. La cantidad máxima de elementos es 100.

owners[]

object (Principal)

Opcional. Es la lista de propietarios del artículo. Este campo no tiene relación con los permisos de acceso a los documentos. Sin embargo, ofrece un aumento leve de la clasificación de los elementos en los que el usuario que realiza la consulta es propietario. La cantidad máxima de elementos es 5.

ItemAcl.AclInheritanceType

Los tipos de herencia de LCA.

Enumeraciones
NOT_APPLICABLE Es el valor predeterminado cuando este elemento no hereda una LCA. Usa NOT_APPLICABLE cuando inheritAclFrom esté vacío. Un elemento sin herencia de LCA puede tener LCA proporcionadas por sus propios campos readers y deniedReaders.
CHILD_OVERRIDE Durante un conflicto de autorización, la LCA del elemento secundario determina su acceso de lectura.
PARENT_OVERRIDE Durante un conflicto de autorización, la LCA del elemento superior especificado en el campo inheritAclFrom determina el acceso de lectura.
BOTH_PERMIT El acceso se otorga solo si este elemento y el elemento superior especificado en el campo inheritAclFrom permiten el acceso de lectura.

Principal

Es una referencia a un usuario, grupo o dominio.

Representación JSON
{

  // Union field principal can be only one of the following:
  "gsuitePrincipal": {
    object (GSuitePrincipal)
  },
  "userResourceName": string,
  "groupResourceName": string
  // End of list of possible types for union field principal.
}
Campos

Campo de unión principal.

principal puede ser una de las siguientes opciones:

gsuitePrincipal

object (GSuitePrincipal)

Este principal es un usuario, un grupo o un dominio de Google Workspace.

userResourceName

string

Este principal es un usuario identificado con una identidad externa. El campo de nombre debe especificar el nombre del recurso de usuario con el siguiente formato: identitysources/{sourceId}/users/{ID}

groupResourceName

string

Este principal es un grupo identificado con una identidad externa. El campo de nombre debe especificar el nombre del recurso del grupo con el siguiente formato: identitysources/{sourceId}/groups/{ID}

ItemMetadata

Son los campos de metadatos disponibles para el elemento.

Representación JSON
{
  "title": string,
  "sourceRepositoryUrl": string,
  "containerName": string,
  "objectType": string,
  "createTime": string,
  "updateTime": string,
  "interactions": [
    {
      object (Interaction)
    }
  ],
  "contentLanguage": string,
  "mimeType": string,
  "searchQualityMetadata": {
    object (SearchQualityMetadata)
  },
  "keywords": [
    string
  ],
  "hash": string,
  "contextAttributes": [
    {
      object (ContextAttribute)
    }
  ]
}
Campos
title

string

Es el título del artículo. Si se proporciona, este será el título que se mostrará en el resultado de la búsqueda de query. La longitud máxima es de 2,048 caracteres.

sourceRepositoryUrl

string

Es el vínculo al repositorio de origen que entrega los datos. Los resultados de la búsqueda aplican este vínculo al título. Los espacios en blanco o los caracteres especiales pueden hacer que los vínculos de los resultados de la Búsqueda de Cloud activen un aviso de redireccionamiento. Para evitar esto, codifica la URL. La longitud máxima es de 2,048 caracteres.

containerName

string

Es el nombre del contenedor de este artículo. Si borras el elemento del contenedor, se borrará automáticamente. Nota: Las ACL no se heredan de un elemento de contenedor. Para proporcionar herencia de LCA para un elemento, usa el campo inheritAclFrom. La longitud máxima es de 1,536 caracteres.

objectType

string

Es el tipo de elemento. Debe corresponder al nombre de una definición de objeto en el esquema registrado para la fuente de datos. Por ejemplo, si el esquema de la fuente de datos contiene una definición de objeto con el nombre "document", las solicitudes de indexación de elementos para objetos de ese tipo deben establecer objectType en "document". La longitud máxima es de 256 caracteres.

createTime

string (Timestamp format)

Es la hora en la que se creó el elemento en el repositorio de origen.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Es la hora en la que se modificó el elemento por última vez en el repositorio de origen.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

interactions[]

object (Interaction)

Es una lista de interacciones para el elemento. Las interacciones se usan para mejorar la calidad de la búsqueda de consultas, pero no se exponen a los usuarios finales. La cantidad máxima de elementos es 1,000.

contentLanguage

string

Es el código de idioma BCP-47 del artículo, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. La longitud máxima es de 32 caracteres.

mimeType

string

El tipo mime original de ItemContent.content en el repositorio de origen. La longitud máxima es de 256 caracteres.

searchQualityMetadata

object (SearchQualityMetadata)

Metadatos adicionales de calidad de la búsqueda del artículo

keywords[]

string

Palabras clave o frases adicionales que deben coincidir con el artículo. Se usa de forma interna para el contenido generado por usuarios. La cantidad máxima de elementos es 100. La longitud máxima es de 8,192 caracteres.

hash

string

Es el valor de hash que proporciona el llamador de la API. Esto se puede usar con el método items.push para calcular el estado modificado. La longitud máxima es de 2,048 caracteres.

contextAttributes[]

object (ContextAttribute)

Es un conjunto de atributos con nombre asociados con el artículo. Esto se puede usar para influir en la clasificación del elemento según el contexto de la solicitud. La cantidad máxima de elementos es 10.

Interacción

Representa una interacción entre un usuario y un elemento.

Representación JSON
{
  "type": enum (Interaction.InteractionType),
  "principal": {
    object (Principal)
  },
  "interactionTime": string
}
Campos
type

enum (Interaction.InteractionType)

principal

object (Principal)

El usuario que realizó una acción en el artículo.

interactionTime

string (Timestamp format)

Es la hora en la que el usuario realizó una acción en el elemento. Si existen varias acciones del mismo tipo para un solo usuario, solo se registra la más reciente.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

Interaction.InteractionType

Es el tipo de actividad que el usuario realizó en el artículo.

Enumeraciones
UNSPECIFIED El valor no es válido.
VIEW Esta interacción indica que el usuario vio el artículo.
EDIT Esta interacción indica que el usuario editó el elemento.

SearchQualityMetadata

Metadatos adicionales de calidad de la búsqueda del artículo.

Representación JSON
{
  "quality": number
}
Campos
quality

number

Es una indicación de la calidad del elemento que se usa para influir en la calidad de la búsqueda. El valor debe estar entre 0.0 (calidad más baja) y 1.0 (calidad más alta). El valor predeterminado es 0.0.

ContextAttribute

Es un atributo con nombre asociado a un elemento que se puede usar para influir en la clasificación del elemento según el contexto de la solicitud.

Representación JSON
{
  "name": string,
  "values": [
    string
  ]
}
Campos
name

string

Es el nombre del atributo. No debe estar vacío. La longitud máxima es de 32 caracteres. El nombre debe comenzar con una letra y solo puede contener letras (A-Z, a-z) o números (0-9). El nombre se normalizará (en minúsculas) antes de que se establezca la coincidencia.

values[]

string

Valores de texto del atributo. La cantidad máxima de elementos es 10. La longitud máxima de un elemento del array es de 32 caracteres. El valor se normalizará (se convertirá a minúsculas) antes de que se establezca la coincidencia.

ItemStructuredData

Son los campos de datos estructurados disponibles para el artículo.

Representación JSON
{
  "object": {
    object (StructuredDataObject)
  },
  "hash": string
}
Campos
object

object (StructuredDataObject)

Es el objeto de datos estructurados que debe cumplir con una definición de objeto registrada en el esquema de la fuente de datos.

hash

string

Es el valor de hash que proporciona el llamador de la API. Esto se puede usar con el método items.push para calcular el estado modificado. La longitud máxima es de 2,048 caracteres.

StructuredDataObject

Es un objeto de datos estructurados que consta de propiedades con nombre.

Representación JSON
{
  "properties": [
    {
      object (NamedProperty)
    }
  ]
}
Campos
properties[]

object (NamedProperty)

Las propiedades del objeto. La cantidad máxima de elementos es 1,000.

NamedProperty

Es un par nombre-valor escrito para datos estructurados. El tipo del valor debe ser el mismo que el tipo registrado para la propiedad name en la definición del objeto de objectType.

Representación JSON
{
  "name": string,

  // Union field value can be only one of the following:
  "integerValues": {
    object (NamedProperty.IntegerValues)
  },
  "doubleValues": {
    object (NamedProperty.DoubleValues)
  },
  "timestampValues": {
    object (NamedProperty.TimestampValues)
  },
  "booleanValue": boolean,
  "objectValues": {
    object (NamedProperty.ObjectValues)
  },
  "enumValues": {
    object (NamedProperty.EnumValues)
  },
  "dateValues": {
    object (NamedProperty.DateValues)
  },
  "textValues": {
    object (NamedProperty.TextValues)
  },
  "htmlValues": {
    object (NamedProperty.HtmlValues)
  }
  // End of list of possible types for union field value.
}
Campos
name

string

Es el nombre de la propiedad. Este nombre debe corresponder al nombre de la propiedad que se registró para la definición de objetos en el esquema. La longitud máxima permitida para esta propiedad es de 256 caracteres.

Campo de unión value. Los valores de la propiedad nombrada. Ten en cuenta que una propiedad solo puede contener valores de un tipo. Las direcciones (value) solo pueden ser una de las siguientes opciones:
integerValues

object (NamedProperty.IntegerValues)

doubleValues

object (NamedProperty.DoubleValues)

timestampValues

object (NamedProperty.TimestampValues)

booleanValue

boolean

objectValues

object (NamedProperty.ObjectValues)

enumValues

object (NamedProperty.EnumValues)

dateValues

object (NamedProperty.DateValues)

textValues

object (NamedProperty.TextValues)

htmlValues

object (NamedProperty.HtmlValues)

NamedProperty.IntegerValues

Es una lista de valores enteros.

Representación JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string (int64 format)

NamedProperty.DoubleValues

Es una lista de valores dobles.

Representación JSON
{
  "values": [
    number
  ]
}
Campos
values[]

number

NamedProperty.TimestampValues

Es una lista de valores de marca de tiempo.

Representación JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string (Timestamp format)

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

NamedProperty.ObjectValues

Es una lista de valores de objetos.

Representación JSON
{
  "values": [
    {
      object (StructuredDataObject)
    }
  ]
}
Campos
values[]

object (StructuredDataObject)

NamedProperty.EnumValues

Es una lista de valores de enum.

Representación JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

La longitud máxima permitida para los valores de cadena es de 32 caracteres.

NamedProperty.DateValues

Es una lista de valores de fecha.

Representación JSON
{
  "values": [
    {
      object (Date)
    }
  ]
}
Campos
values[]

object (Date)

NamedProperty.TextValues

Es una lista de valores de texto.

Representación JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

La longitud máxima permitida para los valores de texto es de 2,048 caracteres.

NamedProperty.HtmlValues

Es una lista de valores HTML.

Representación JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

La longitud máxima permitida para los valores HTML es de 2,048 caracteres.

ItemContent

Es el contenido de un elemento que Cloud Search indexará y mostrará. Solo se permiten cadenas codificadas en UTF-8 como inlineContent. Si el contenido se sube y no es binario, debe estar codificado en UTF-8.

Representación JSON
{
  "contentFormat": enum (ItemContent.ContentFormat),
  "hash": string,

  // Union field content can be only one of the following:
  "inlineContent": string,
  "contentDataRef": {
    object (UploadItemRef)
  }
  // End of list of possible types for union field content.
}
Campos
contentFormat

enum (ItemContent.ContentFormat)

hash

string

Es la información de hash que calcula y proporciona el cliente de la API para el contenido. Se puede usar con el método items.push para calcular el estado modificado. La longitud máxima es de 2,048 caracteres.

Campo de unión content.

content puede ser una de las siguientes opciones:

inlineContent

string (bytes format)

Es el contenido que se proporciona intercalado dentro del método de actualización. La longitud máxima es de 102,400 bytes (100 KiB).

String codificada en base64.

contentDataRef

object (UploadItemRef)

Sube el ID de referencia de un contenido subido anteriormente mediante el método de escritura.

ItemContent.ContentFormat

Es el formato del contenido. Si el formato es RAW, el contenido debe estar en el formato que especifica mimeType.

Enumeraciones
UNSPECIFIED El valor no es válido.
HTML contentFormat es HTML.
TEXT contentFormat es texto libre.
RAW contentFormat es bytes sin procesar.

UploadItemRef

Representa una referencia de sesión de carga. Esta referencia se crea a través de upload method. Esta referencia es válida durante 30 días después de su creación. La actualización del contenido de los artículos puede hacer referencia a este contenido subido a través de contentDataRef.

Representación JSON
{
  "name": string
}
Campos
name

string

Es el nombre de la referencia del contenido. La longitud máxima es de 2,048 caracteres.

ItemStatus

Contiene el estado del elemento y cualquier error.

Representación JSON
{
  "code": enum (ItemStatus.Code),
  "processingErrors": [
    {
      object (ProcessingError)
    }
  ],
  "repositoryErrors": [
    {
      object (RepositoryError)
    }
  ]
}
Campos
code

enum (ItemStatus.Code)

Código de estado.

processingErrors[]

object (ProcessingError)

Detalles del error en caso de que el elemento esté en estado ERROR.

repositoryErrors[]

object (RepositoryError)

El conector informó un error del repositorio.

ProcessingError

Representación JSON
{
  "code": enum (ProcessingErrorCode),
  "errorMessage": string,
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
Campos
code

enum (ProcessingErrorCode)

Código de error que indica la naturaleza del error.

errorMessage

string

Es la descripción del error.

fieldViolations[]

object (FieldViolation)

En caso de que los campos de los artículos no sean válidos, este campo contiene los detalles sobre los errores de validación.

ProcessingErrorCode

Códigos para indicar el error que se encontró durante el procesamiento de elementos por parte del servidor de Cloud Search. Un solo elemento puede contener varios errores de procesamiento.

Enumeraciones
PROCESSING_ERROR_CODE_UNSPECIFIED Ingresa solo el valor. Usa este valor en Elementos.
MALFORMED_REQUEST La ACL, los metadatos o el contenido del elemento tienen un formato incorrecto o están en un estado no válido. FieldViolations contiene más detalles sobre dónde se encuentra el problema.
UNSUPPORTED_CONTENT_FORMAT No se admite el formato de contenido.
INDIRECT_BROKEN_ACL Elementos con información de LCA incompleta debido a que heredan otros elementos con LCA dañada o tienen grupos con elementos secundarios no asignados
ACL_CYCLE El gráfico de herencia de LCA formó un ciclo.

FieldViolation

Representación JSON
{
  "field": string,
  "description": string
}
Campos
field

string

Ruta de campo con incumplimiento.

description

string

Es la descripción del error.

RepositoryError

Se producen errores cuando el conector se comunica con el repositorio de origen.

Representación JSON
{
  "type": enum (RepositoryError.Type),
  "httpStatusCode": integer,
  "errorMessage": string
}
Campos
type

enum (RepositoryError.Type)

El tipo de error.

httpStatusCode

integer

Códigos de error Coincide con la definición de los códigos de estado HTTP.

errorMessage

string

Es el mensaje que describe el error. La longitud máxima permitida del mensaje es de 8,192 caracteres.

RepositoryError.Type

Es una lista de códigos de error para problemas de comunicación con el repositorio.

Enumeraciones
UNKNOWN Error desconocido.
NETWORK_ERROR Host desconocido o inaccesible.
DNS_ERROR Problema de DNS, por ejemplo, el servidor DNS no responde.
CONNECTION_ERROR No se puede conectar al servidor del repositorio.
AUTHENTICATION_ERROR No se pudo realizar la autenticación debido a credenciales incorrectas.
AUTHORIZATION_ERROR La cuenta de servicio no está autorizada para el repositorio.
SERVER_ERROR Error del servidor del repositorio.
QUOTA_EXCEEDED Se superó la cuota.
SERVICE_UNAVAILABLE El servidor no está disponible temporalmente.
CLIENT_ERROR Error relacionado con el cliente, como una solicitud no válida del conector al servidor del repositorio.

Item.ItemType

Enumeraciones
UNSPECIFIED
CONTENT_ITEM Es un elemento que se indexa con el único propósito de publicar información. No se puede hacer referencia a estos elementos en los campos containerName ni inheritAclFrom.
CONTAINER_ITEM Es un elemento que se indexa y cuyo propósito es proporcionar LCA a otros elementos o contener otros elementos.
VIRTUAL_CONTAINER_ITEM Es un elemento que no se indexa, pero que tiene el mismo propósito que CONTAINER_ITEM.

Métodos

delete

Borra Item resource para el nombre de recurso especificado.

deleteQueueItems

Borra todos los elementos de una cola.

get

Obtiene Item resource por nombre de elemento.

index

Actualiza la LCA, los metadatos y el contenido de Item.

list

Enumera todos los Item resources o un subconjunto de ellos.

poll

Realiza sondeos para elementos sin reservar de la cola de indexación y marca un conjunto como reservado, comenzando por los elementos que tienen la marca de tiempo más antigua de la ItemStatus de prioridad más alta.

push

Envía un elemento a una cola para consultarlo y actualizarlo más tarde.

unreserve

Anula la reserva de todos los elementos de una cola, lo que los hace aptos para sondearse.

upload

Crea una sesión de carga para subir el contenido del elemento.