REST Resource: indexing.datasources.items

Recurso: Item

Representa un único objeto 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

El nombre del elemento. Formato: datasources/{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 metadatos.

structuredData

object (ItemStructuredData)

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

content

object (ItemContent)

Contenido del elemento que se indexará y se podrá buscar 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 para este campo es de 1,024 bytes.

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

String codificada en base64.

status

object (ItemStatus)

Estado del artículo. Campo de solo salida.

queue

string

A la que pertenece este elemento. La longitud máxima es de 100 caracteres.

payload

string (bytes format)

Se puede almacenar un conector de estado adicional 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.

LCA de elementos

Permite acceder a la información de la lista de control del elemento. Para obtener más información, consulta Asigna las LCA.

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

string

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 la LCA del índice solo modifica 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 aparezca en los resultados de la búsqueda. Por el contrario, la eliminación de un elemento del contenedor también borra 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 la LCA de un superior. Siempre debe configurarse 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 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 el elemento no debe 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 ha denegado explícitamente el acceso al elemento en los resultados de la búsqueda. Si bien las principales tienen denegado 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. Lista de propietarios del elemento. Este campo no afecta los permisos de acceso a documentos. Sin embargo, ofrece una leve clasificación que aumenta 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.

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 aún 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 superior especificado en el campo inheritAclFrom permiten el acceso de lectura.

Principal

Se refiere 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 del usuario con este formato: identitysources/{sourceId}/users/{ID}

groupResourceName

string

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

Metadatos del elemento

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

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

sourceRepositoryUrl

string

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 provocar que los vínculos de los 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. La eliminación del elemento contenedor hace que se borre automáticamente este elemento. Nota: Las LCA no se heredan de un elemento contenedor. Para proporcionar la herencia de LCA a un elemento, usa el campo inheritAclFrom. La longitud máxima es de 1,536 caracteres.

objectType

string

Es el tipo de elemento. Esto 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”, entonces 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)

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

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

updateTime

string (Timestamp format)

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

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

interactions[]

object (Interaction)

Es una lista de interacciones del elemento. Las interacciones se usan para mejorar la calidad de las búsquedas.Sin embargo, no se exponen a los usuarios finales. La cantidad máxima de elementos es 1,000.

contentLanguage

string

El código de idioma BCP-47 para el elemento, 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 de calidad adicionales del artículo

keywords[]

string

Palabras clave o frases adicionales que deben 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 emisor 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)

Un conjunto de atributos con nombre asociados al elemento. Se puede usar para influir en la clasificación del elemento en función del 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 actuó sobre el elemento.

interactionTime

string (Timestamp format)

Indica la hora a la que el usuario realizó una acción. 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 “Zulu”, con resolución de nanosegundos y hasta nueve dígitos decimales. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

Tipo de interacción

Es el tipo de actividad que el usuario realizó en el elemento.

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

Calidad de la búsqueda

Metadatos de calidad adicionales del artículo.

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

number

Una indicación de la calidad del artículo, utilizada para influir en la calidad de búsqueda. El valor debe estar entre 0,0 (la calidad más baja) y 1,0 (la más alta). El valor predeterminado es 0.0.

Atributo de contexto

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

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

values[]

string

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

ElementoDatos estructurados

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 la definición de objeto registrado en el esquema para la fuente de datos.

hash

string

Valor de hash proporcionado por el emisor 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.

Objeto de datos estructurados

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.

Propiedad con nombre

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

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 con nombre. Ten en cuenta que una propiedad solo puede tener 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)

NombreDePropiedad.IntegerValues

Lista de valores de números enteros.

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

string (int64 format)

NombreDePropiedad.DoubleValues

Lista de valores dobles.

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

number

NombreDePropiedad.MarcaDeValores

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 “Zulu”, con resolución de nanosegundos y hasta nueve dígitos decimales. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

NombreDePropiedad.ObjectValues

Lista de valores de objeto.

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

object (StructuredDataObject)

ValorDePropiedadEnNombre.EnumValues

Lista de valores de enumeración.

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

string

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

NombreDePropiedad.FechaValores

Lista de valores de fecha.

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

object (Date)

NombreDePropiedad.Texto

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.

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

Contenido del elemento

Contenido de un elemento que Cloud Search debe indexar y mostrar Solo se permiten 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 incluido 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)

ID de referencia de carga 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 especificado por mimeType.

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

Carga de referencia de artículo

Representa una referencia de la 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 del artículo puede referirse a este contenido subido a través de contentDataRef.

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

string

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

Estado del elemento

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)

Error del repositorio informado por el conector.

Error de procesamiento

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)

Si los campos de elementos no son válidos, este campo contiene los detalles de los errores de validación.

Código de error de procesamiento

Códigos para indicar el error encontrado durante el procesamiento de elementos por parte del servidor de Cloud Search Un solo artículo puede contener varios errores de procesamiento.

Enumeradores
PROCESSING_ERROR_CODE_UNSPECIFIED Valor solo de entrada. Use este valor en "Elementos".
MALFORMED_REQUEST La LCA, los metadatos o el contenido del elemento presentan errores de formato o están en un estado no válido. El campo "Incumplimientos" contiene más detalles sobre la ubicación del problema.
UNSUPPORTED_CONTENT_FORMAT No se admite el formato de recuento.
INDIRECT_BROKEN_ACL Elementos con información incompleta de LCA debido a heredar otros elementos con LCA dañada o tener grupos con descendientes no asignados.
ACL_CYCLE El gráfico de herencia de LCA formó un ciclo.

Infracción de campo

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

string

Ruta del campo con incumplimiento.

description

string

Es la descripción del error.

Error de repositorio

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

errorMessage

string

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

TipoDeErrorDeRepositorio

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, como que el servidor DNS no responde.
CONNECTION_ERROR No se puede conectar al servidor del repositorio.
AUTHENTICATION_ERROR Se produjo un error en la autenticación debido a credenciales incorrectas.
AUTHORIZATION_ERROR La cuenta de servicio no está autorizada para el repositorio.
SERVER_ERROR Error del servidor de 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

Tipo de artículo

Enumeradores
UNSPECIFIED
CONTENT_ITEM Es un elemento que se indexa con el único propósito de entregar información. No se puede hacer referencia a estos elementos en los campos containerName o 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 cola.

get

Obtiene Item resource por nombre de elemento.

index

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

list

Enumera todo o un subconjunto de Item resources.

poll

Sondea elementos sin reservar de la cola de indexación y marca un conjunto como reservado. Comienza con los elementos que tienen la marca de tiempo más antigua de la prioridad más alta ItemStatus.

push

Envía un elemento a una cola para su sondeo y actualización posteriores.

unreserve

Reserva todos los elementos de una cola, lo que hace que todos sean aptos para la encuesta.

upload

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