REST Resource: indexing.datasources.items

Recurso: Item

Representa un objeto único que es un elemento en el í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: fuentes de datos/{sourceId}/items/{itemId}

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

acl

object (ItemAcl)

Lista de control de acceso para este elemento.

metadata

object (ItemMetadata)

La información de los metadatos.

structuredData

object (ItemStructuredData)

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

content

object (ItemContent)

Contenido del elemento que se indexará y que se pueda buscar el texto.

version

string (bytes format)

Obligatorio. El sistema de indexación almacena la versión de la fuente de datos como una string de bytes y compara la versión del elemento en el índice con la versión del elemento 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 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 el artículo Cómo manejar revisiones después de eliminaciones manuales.

String codificada en base64.

status

object (ItemStatus)

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

queue

string

Fila 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 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 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 formas convenientes de borrar grupos grandes de elementos. Borrar un elemento superior de LCA del índice solo altera los permisos de acceso de los elementos secundarios que hacen referencia al elemento superior en el campo inheritAclFrom. El elemento aún está en el índice, pero es posible que no sea visible en los resultados de la búsqueda. Por el contrario, si se borra un elemento contenedor, también se borran todos los elementos que hacen referencia al contenedor mediante el 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 en conjunto con el campo inheritAclFrom. Además, cuando se configura el campo inheritAclFrom, este campo se debe establecer en un AclInheritanceType válido.

readers[]

object (Principal)

Lista de cuentas principales que tienen permiso para ver el elemento en los resultados de la búsqueda. Opcional si se heredan permisos de otro elemento o si este no pretende ser 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ó de forma explícita el acceso al elemento en los resultados de la búsqueda. Si bien a las principales se les niega el acceso 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 elemento. Este campo no afecta los permisos de acceso al documento. Sin embargo, sí ofrece una clasificación leve que mejora los elementos en los que el usuario que realiza la consulta es propietario. La cantidad máxima de elementos es 5.

ItemAcl.AclInheritanceType

Tipos de herencia de LCA.

Enumeradores
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 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 principal especificado en el campo inheritAclFrom determina el acceso de lectura.
BOTH_PERMIT El acceso se otorga solo si este elemento y el elemento principal especificado en el campo inheritAclFrom permiten el acceso de lectura.

Principal

Hace 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 mediante 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 identificado con 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, 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 la búsqueda aplican este vínculo al título. Los espacios en blanco o los caracteres especiales pueden provocar que los vínculos de resultados de Cloud Seach 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 elemento. La eliminación del elemento contenedor lleva a la eliminación automática de este elemento. Nota: Las LCA no se heredan de un elemento contenedor. Para 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 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 deberían establecer objectType como 'document'. La longitud máxima es de 256 caracteres.

createTime

string (Timestamp format)

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

Una marca de tiempo en formato RFC3339 UTC "Zulú", con 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 la 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 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

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

Indica el usuario que realizó una acción en el elemento.

interactionTime

string (Timestamp format)

Indica la hora en 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 acción más reciente.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con 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

Tipo de actividad que realizó el usuario en el elemento.

Enumeradores
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

Son los metadatos adicionales de calidad de búsqueda del elemento.

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

number

Indica la calidad del elemento, que se utiliza 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 nombrado asociado a un artículo que se puede usar para influir en la clasificación del artículo 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 (de la A a la 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 en el array es de 32 caracteres. El valor se normalizará (en minúsculas) antes de que se establezca la coincidencia.

ItemStructuredData

Campos de datos estructurados disponibles para el elemento.

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

object (StructuredDataObject)

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

hash

string

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

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 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 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

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 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 objetos.

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

object (StructuredDataObject)

NamedProperty.EnumValues

Lista de valores enum.

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

string

La longitud máxima permitida para los valores de string 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 codificadas en UTF-8 como inlineContent. Si el contenido se subió 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. Puede usarse 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)

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

ItemContent.ContentFormat

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

Enumeradores
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 con 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 referirse al 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 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)

Error del repositorio informado por el conector.

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 elemento no sean válidos, este campo contiene los detalles sobre los errores de validación.

ProcessingErrorCode

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

Enumeradores
PROCESSING_ERROR_CODE_UNSPECIFIED Valor de solo entrada. Usa este valor en Elementos.
MALFORMED_REQUEST La LCA, los metadatos o el contenido del elemento tienen errores de formato o tienen un estado no válido. Fieldleys contiene 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 se heredaron otros elementos con una LCA dañada o que tienen grupos con 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 del campo con incumplimiento.

description

string

Es la descripción del error.

RepositoryError

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.

Enumeradores
UNKNOWN Error desconocido.
NETWORK_ERROR Host desconocido o inaccesible
DNS_ERROR Hay un problema de DNS, por ejemplo, el servidor DNS no responde.
CONNECTION_ERROR No se puede conectar al servidor del repositorio.
AUTHENTICATION_ERROR Falló 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

Enumeradores
UNSPECIFIED
CONTENT_ITEM Es un artículo que se indexa con el único fin de entregar información. No se puede hacer referencia a estos elementos en los campos containerName ni inheritAclFrom.
CONTAINER_ITEM Elemento que se indexa y cuyo propósito es proporcionar 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

Enumera 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 por 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 sondearlo y actualizarlo más tarde.

unreserve

Anula la reserva de todos los elementos de una fila, lo que hace que todos sean aptos para encuestar.

upload

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