REST Resource: indexing.datasources.items

Recurso: Item

Representa un objeto único 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 elemento. Formato: fuentes de datos/{sourceId}/items/{itemId}

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

acl

object (ItemAcl)

Lista de control de acceso de este elemento.

metadata

object (ItemMetadata)

La información de los metadatos.

structuredData

object (ItemStructuredData)

Los datos estructurados del elemento que debe cumplir con una definición de objeto registrado en el esquema de la fuente de datos.

content

object (ItemContent)

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 elemento en el índice con la versión del elemento en cola mediante un orden léxico.

La indexación de Cloud Search no indexará ni borrará ningún elemento en cola con un valor de versión inferior o igual a 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 Administra revisiones después de la eliminación manual.

String codificada en base64.

status

object (ItemStatus)

Es el estado del artículo. Campo de solo salida.

queue

string

Agrega este elemento a la fila. La longitud máxima es de 100 caracteres.

payload

string (bytes format)

El conector de estado adicional puede almacenar datos para este elemento. La longitud máxima es 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 para el elemento. Para obtener más información, consulta Asigna 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 hereda la lista de permisos de acceso (LCA). Nota: La herencia de LCA solo proporciona permisos de acceso a elementos secundarios y no define relaciones estructurales, ni proporciona maneras convenientes de borrar grupos grandes de elementos. Borrar una LCA superior del índice solo altera los permisos de acceso de los elementos secundarios que hacen referencia al superior en el campo inheritAclFrom. El elemento sigue en el índice, pero es posible que no se vea en los resultados de la búsqueda. Por el contrario, cuando se borra un elemento del 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 deben aplicar cuando un elemento hereda su LCA de un elemento superior. Siempre se debe configurar junto con el campo inheritAclFrom. Además, cuando se configura el campo inheritAclFrom, este campo se debe configurar con un AclInheritanceType válido.

readers[]

object (Principal)

Lista de principales que tienen permiso para ver el elemento en los resultados de la búsqueda. Opcional si heredas permisos de otro elemento o si el elemento no es visible, como virtual containers. La cantidad máxima de elementos es 1,000.

deniedReaders[]

object (Principal)

Lista de principales a las que se les denegó explícitamente el acceso al elemento en los resultados de la búsqueda. Si bien a las principales se les deniega el acceso de forma predeterminada, usa los lectores denegados para manejar 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 elemento. Este campo no afecta los permisos de acceso a documentos. Sin embargo, ofrece una leve clasificación para aumentar los artículos 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 El valor predeterminado cuando este elemento no hereda una LCA. Usa NOT_APPLICABLE cuando inheritAclFrom esté vacío. Un elemento sin herencia de LCA aún puede tener LCA suministradas 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 solo se otorga si este elemento y el elemento superior especificado en el campo inheritAclFrom permiten el acceso de lectura.

Principal

Es la 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)

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

userResourceName

string

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

groupResourceName

string

Esta principal es un grupo que se identifica mediante una identidad externa. El campo de nombre debe especificar el nombre del recurso del grupo con este formato: Identitysources/{sourceId}/groups/{ID}

ItemMetadata

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á del resultado de query.search. La longitud máxima es de 2,048 caracteres.

sourceRepositoryUrl

string

Vínculo al repositorio de código fuente que entrega los datos. Los resultados de búsqueda aplican este vínculo al título. Los espacios en blanco o los caracteres especiales pueden hacer que los vínculos de resultados de Cloud Seach activen un aviso de redireccionamiento. Para evitarlo, codifica la URL. La longitud máxima es de 2,048 caracteres.

containerName

string

El nombre del contenedor de este elemento. Si se borra el elemento contenedor, se borra automáticamente este elemento. Nota: Las LCA no se heredan de un elemento del contenedor. A fin de proporcionar la herencia de LCA para un elemento, usa el campo inheritAclFrom. La longitud máxima es de 1,536 caracteres.

objectType

string

Es el tipo del 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 como "document". La longitud máxima es de 256 caracteres.

createTime

string (Timestamp format)

Indica la hora a la que se creó el elemento en el repositorio de código fuente.

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)

La hora en que se modificó el elemento por última vez en el repositorio de código fuente.

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 utilizan para mejorar la calidad de query.search, pero no se exponen a los usuarios finales. La cantidad máxima de elementos es 1,000.

contentLanguage

string

El código de idioma según la norma 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 código fuente. La longitud máxima es de 256 caracteres.

searchQualityMetadata

object (SearchQualityMetadata)

Metadatos adicionales de calidad de búsqueda del elemento

keywords[]

string

Palabras clave o frases adicionales que deberían coincidir con el elemento Se usa internamente 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

Valor de hash proporcionado por el llamador de la API. 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)

Es el usuario que realizó una acción sobre el elemento.

interactionTime

string (Timestamp format)

Indica el momento en que el usuario actuó sobre el elemento. Si existen varias acciones del mismo tipo para un solo usuario, solo se registra la acción 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

Indica 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 búsqueda del elemento.

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

number

Una indicación de la calidad del elemento, que se utiliza para influir en la calidad de la búsqueda. 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 coincidir.

values[]

string

Son los 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á (en minúsculas) antes de coincidir.

ItemStructuredData

Son los campos de datos estructurados disponibles para el elemento.

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

object (StructuredDataObject)

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

hash

string

Valor de hash proporcionado por el llamador de la API. Se puede usar con el método items.push para calcular el estado modificado. La longitud máxima es de 2,048 caracteres.

StructuredDataObject

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

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 del objeto 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 mencionada. 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

Lista de valores de números enteros.

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

string (int64 format)

NamedProperty.DoubleValues

Lista de valores dobles.

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

number

NamedProperty.TimestampValues

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

Lista de valores de objeto.

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

object (StructuredDataObject)

NamedProperty.EnumValues

Lista de valores de enumeración.

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

string

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

NamedProperty.DateValues

Lista de valores de fecha.

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

object (Date)

NamedProperty.TextValues

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

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

Contenido de un elemento que Cloud Search debe indexar y mostrar. Solo se permiten las strings con codificación UTF-8 como inlineContent. Si se sube el contenido 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

Información de hash calculada y proporcionada por 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)

Contenido que se suministra intercalado en el método de actualización. La longitud máxima es de 102,400 bytes (100 KiB).

String codificada en base64.

contentDataRef

object (UploadItemRef)

Subir el ID de referencia de un contenido subido anteriormente a través del método de escritura

ItemContent.ContentFormat

Indica 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 son 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 los 30 días posteriores a su creación. La actualización del contenido del elemento puede hacer referencia al contenido que se subió 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 todos los errores.

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 tenga el estado ERROR.

repositoryErrors[]

object (RepositoryError)

El conector informó un error en el 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 del artículo no sean válidos, este campo contiene los detalles sobre los errores de validación.

ProcessingErrorCode

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

Enumeraciones
PROCESSING_ERROR_CODE_UNSPECIFIED Valor de solo entrada. Usa este valor en Artículos.
MALFORMED_REQUEST La LCA, los metadatos o el contenido del elemento tienen errores de formato o se encuentran en un estado no válido. FieldViolations incluye más detalles sobre dónde se encuentra el problema.
UNSUPPORTED_CONTENT_FORMAT No se admite el formato de recuento.
INDIRECT_BROKEN_ACL Elementos con información de LCA incompleta debido a que heredaron otros elementos con una LCA dañada o tienen grupos con elementos subordinados sin asignar.
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 código fuente.

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 códigos de estado HTTP.

errorMessage

string

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

RepositoryError.Type

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 Hay un problema de DNS, como que 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 en este momento.
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 artículo que está indexado con el único propósito de entregar información. No se puede hacer referencia a estos elementos en los campos containerName ni inheritAclFrom.
CONTAINER_ITEM Un elemento que se indexa y cuyo propósito es proporcionar otros elementos con LCA o contener otros elementos.
VIRTUAL_CONTAINER_ITEM 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 del recurso especificado.

deleteQueueItems

Borra todos los elementos de una fila.

get

Obtiene Item resource por nombre del elemento.

index

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

list

Muestra una lista de todos los elementos Item resources o un subconjunto de ellos.

poll

Sondea los elementos no reservados de la cola de indexación y marca un conjunto como reservado, comenzando con los elementos que tienen la marca de tiempo más antigua de la ItemStatus de mayor prioridad.

push

Envía un elemento a una cola para sondear y actualizar más tarde.

unreserve

Deja de reservar todos los elementos de una cola, por lo que todos son aptos para sondearse.

upload

Crea una sesión de carga para subir el contenido de los elementos.