REST Resource: indexing.datasources.items

Recurso: item

Representa um único objeto que é um item no índice de pesquisa, como um arquivo, pasta ou um registro de banco de dados.

Representação 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

Nome do item. Formato: datasources/{sourceId}/items/{itemId}

Este campo é obrigatório. O tamanho máximo é de 1.536 caracteres.

acl

object (ItemAcl)

Lista de controle de acesso para este item.

metadata

object (ItemMetadata)

As informações dos metadados.

structuredData

object (ItemStructuredData)

São os dados estruturados do item que precisam estar em conformidade com a definição de objeto registrado no esquema da fonte de dados.

content

object (ItemContent)

Conteúdo do item a ser indexado e texto pesquisável.

version

string (bytes format)

Obrigatório. O sistema de indexação armazena a versão da fonte de dados como uma string de bytes e compara a versão do item no índice com a versão do item na fila usando a ordenação lexical.

A indexação do Cloud Search não vai indexar nem excluir itens na fila com um valor de versão menor ou igual à versão do item indexado no momento. O tamanho máximo desse campo é de 1.024 bytes.

Para saber mais sobre como a versão do item afeta o processo de exclusão, consulte Processar revisões após exclusões manuais.

Uma string codificada em base64.

status

object (ItemStatus)

Status do item. Campo somente de saída.

queue

string

Fila a que este item pertence. O comprimento máximo é de 100 caracteres.

payload

string (bytes format)

O conector de estado adicional pode armazenar para esse item. O tamanho máximo é de 10.000 bytes.

Uma string codificada em base64.

itemType

enum (Item.ItemType)

Tipo do item.

ItemAcl

Informações da lista de controle de acesso para o item. Para mais informações, consulte Mapear ACLs.

Representação JSON
{
  "inheritAclFrom": string,
  "aclInheritanceType": enum (ItemAcl.AclInheritanceType),
  "readers": [
    {
      object (Principal)
    }
  ],
  "deniedReaders": [
    {
      object (Principal)
    }
  ],
  "owners": [
    {
      object (Principal)
    }
  ]
}
Campos
inheritAclFrom

string

O nome do item de onde a lista de permissões de acesso (ACL, na sigla em inglês) será herdada. Observação: a herança da ACL concede apenas permissões de acesso a itens filhos e não define relações estruturais, nem fornece maneiras convenientes de excluir grandes grupos de itens. A exclusão de um pai da ACL do índice muda apenas as permissões de acesso dos itens filhos que fazem referência ao pai no campo inheritAclFrom. O item ainda está no índice, mas talvez não esteja visível nos resultados da pesquisa. Por outro lado, a exclusão de um item de contêiner também exclui todos os itens que fazem referência ao contêiner por meio do campo containerName. O tamanho máximo desse campo é de 1.536 caracteres.

aclInheritanceType

enum (ItemAcl.AclInheritanceType)

Define o tipo de regras de acesso a serem aplicadas quando um item herda a ACL de um pai. Isso sempre precisa ser definido em conjunto com o campo inheritAclFrom. Além disso, quando inheritAclFrom é definido, ele precisa ser definido como um AclInheritanceType válido.

readers[]

object (Principal)

Lista de principais que têm permissão para ver o item nos resultados da pesquisa. Opcional se herdar permissões de outro item ou se o item não deveria estar visível, como virtual containers. O número máximo de elementos é 1.000.

deniedReaders[]

object (Principal)

Lista de principais que tiveram o acesso explicitamente negado ao item nos resultados da pesquisa. Embora o acesso aos principais tenha sido negado por padrão, use os leitores negados para processar exceções e substituir os leitores permitidos da lista. O número máximo de elementos é 100.

owners[]

object (Principal)

Opcional. Lista de proprietários do item. Esse campo não afeta as permissões de acesso ao documento. No entanto, ela oferece uma pequena classificação impulsiona os itens em que o usuário que consulta é um proprietário. O número máximo de elementos é 5.

ItemAcl.AclInheritanceType

Os tipos de herança da ACL.

Enums
NOT_APPLICABLE O valor padrão quando este item não herda uma ACL. Use NOT_APPLICABLE quando inheritAclFrom estiver vazio. Um item sem herança de ACL ainda pode ter ACLs fornecidas pelos próprios campos readers e deniedReaders.
CHILD_OVERRIDE Durante um conflito de autorização, a ACL do item filho determina o acesso de leitura.
PARENT_OVERRIDE Durante um conflito de autorização, a ACL do item pai especificado no campo inheritAclFrom determina o acesso de leitura.
BOTH_PERMIT O acesso só será concedido se esse item e o item pai especificado no campo inheritAclFrom permitirem acesso de leitura.

Principal

Referência a um usuário, grupo ou domínio.

Representação 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ão principal.

principal pode ser apenas de um dos tipos a seguir:

gsuitePrincipal

object (GSuitePrincipal)

Este principal é um usuário, grupo ou domínio do Google Workspace.

userResourceName

string

Este principal é um usuário identificado com uma identidade externa. O campo "name" precisa especificar o nome do recurso do usuário com este formato: Identitysources/{sourceId}/users/{ID}

groupResourceName

string

Este principal é um grupo identificado usando uma identidade externa. O campo name precisa especificar o nome do recurso do grupo com este formato: Identitysources/{sourceId}/groups/{ID}

ItemMetadata

Campos de metadados disponíveis para o item.

Representação 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

Título do item. Se fornecido, será o título exibido do resultado de query.search. O tamanho máximo é de 2.048 caracteres.

sourceRepositoryUrl

string

Link para o repositório de origem que exibe os dados. Os resultados da pesquisa aplicam este link ao título. Espaços em branco ou caracteres especiais podem fazer com que os links de resultado do Cloud Search acionem um aviso de redirecionamento. Para evitar isso, codifique o URL. O tamanho máximo é de 2.048 caracteres.

containerName

string

O nome do contêiner deste item. A exclusão do item do contêiner resulta na exclusão automática dele. Observação: as ACLs não são herdadas de um item do contêiner. Para conceder a herança de ACL para um item, use o campo inheritAclFrom. O tamanho máximo é de 1.536 caracteres.

objectType

string

Tipo do item. Precisa corresponder ao nome de uma definição de objeto no esquema registrado para a fonte de dados. Por exemplo, se o esquema da fonte de dados contém uma definição de objeto com o nome "document", as solicitações de indexação de itens para objetos desse tipo precisam definir "objectType" como "document". O tamanho máximo é de 256 caracteres.

createTime

string (Timestamp format)

A hora em que o item foi criado no repositório de origem.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

A hora em que o item foi modificado pela última vez no repositório de origem.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

interactions[]

object (Interaction)

Uma lista de interações para o item. As interações são usadas para melhorar a qualidade da query.search, mas não são expostas aos usuários finais. O número máximo de elementos é 1.000.

contentLanguage

string

O código de idioma BCP-47 para o item, como "pt-BR" ou "en-US". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. O tamanho máximo é de 32 caracteres.

mimeType

string

O tipo MIME original de ItemContent.content no repositório de origem. O tamanho máximo é de 256 caracteres.

searchQualityMetadata

object (SearchQualityMetadata)

Metadados adicionais de qualidade da pesquisa do item

keywords[]

string

Outras palavras-chave ou frases que devem corresponder ao item. Usado internamente para conteúdo gerado pelo usuário. O número máximo de elementos é 100. O tamanho máximo é de 8.192 caracteres.

hash

string

Valor de hash fornecido pelo autor da chamada da API. Isso pode ser usado com o método items.push para calcular o estado modificado. O tamanho máximo é de 2.048 caracteres.

contextAttributes[]

object (ContextAttribute)

Um conjunto de atributos nomeados associados ao item. Isso pode ser usado para influenciar a classificação do item com base no contexto na solicitação. O número máximo de elementos é 10.

Interação

Representa uma interação entre um usuário e um item.

Representação JSON
{
  "type": enum (Interaction.InteractionType),
  "principal": {
    object (Principal)
  },
  "interactionTime": string
}
Campos
type

enum (Interaction.InteractionType)

principal

object (Principal)

O usuário que agiu no item.

interactionTime

string (Timestamp format)

A hora em que o usuário agiu em relação ao item. Se houver várias ações do mesmo tipo para um único usuário, somente a mais recente será registrada.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

Interaction.InteractionType

O tipo de atividade que o usuário realizou no item.

Enums
UNSPECIFIED Valor inválido.
VIEW Essa interação indica que o usuário visualizou o item.
EDIT Essa interação indica que o usuário editou o item.

SearchQualityMetadata

Metadados adicionais de qualidade da pesquisa do item.

Representação JSON
{
  "quality": number
}
Campos
quality

number

Uma indicação da qualidade do item, usada para influenciar a qualidade da pesquisa. O valor deve estar entre 0,0 (qualidade mais baixa) e 1,0 (qualidade mais alta). O valor padrão é 0,0.

ContextAttribute

Um atributo nomeado associado a um item que pode ser usado para influenciar a classificação dele com base no contexto da solicitação.

Representação JSON
{
  "name": string,
  "values": [
    string
  ]
}
Campos
name

string

O nome do atributo. Ele não deve ficar em branco. O tamanho máximo é de 32 caracteres. O nome precisa começar com uma letra e só pode conter letras (A-Z, a-z) ou números (0-9). O nome será normalizado (em letras minúsculas) antes de ser correspondido.

values[]

string

Valores de texto do atributo. O número máximo de elementos é 10. O comprimento máximo de um elemento na matriz é de 32 caracteres. O valor será normalizado (em letras minúsculas) antes de ser correspondido.

ItemStructuredData

Campos de dados estruturados disponíveis para o item.

Representação JSON
{
  "object": {
    object (StructuredDataObject)
  },
  "hash": string
}
Campos
object

object (StructuredDataObject)

O objeto de dados estruturados que precisa estar em conformidade com uma definição de objeto registrado no esquema da fonte de dados.

hash

string

Valor de hash fornecido pelo autor da chamada da API. Isso pode ser usado com o método items.push para calcular o estado modificado. O tamanho máximo é de 2.048 caracteres.

StructuredDataObject

Um objeto de dados estruturados que consiste em propriedades nomeadas.

Representação JSON
{
  "properties": [
    {
      object (NamedProperty)
    }
  ]
}
Campos
properties[]

object (NamedProperty)

As propriedades do objeto. O número máximo de elementos é 1.000.

NamedProperty

Um par de nome-valor digitado para dados estruturados. O tipo do valor precisa ser igual ao tipo registrado da propriedade name na definição do objeto objectType.

Representação 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

O nome da propriedade. Esse nome precisa corresponder ao da propriedade que foi registrada para a definição do objeto no esquema. O tamanho máximo permitido para essa propriedade é de 256 caracteres.

Campo de união value. Os valores da propriedade nomeada. Uma propriedade pode conter apenas valores de um tipo. value pode ser apenas de um dos tipos a seguir:
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 inteiros.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string (int64 format)

NamedProperty.DoubleValues

Lista de valores duplos.

Representação JSON
{
  "values": [
    number
  ]
}
Campos
values[]

number

NamedProperty.TimestampValues

Lista de valores de carimbo de data/hora.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string (Timestamp format)

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

NamedProperty.ObjectValues

Lista de valores de objetos.

Representação JSON
{
  "values": [
    {
      object (StructuredDataObject)
    }
  ]
}
Campos
values[]

object (StructuredDataObject)

NamedProperty.EnumValues

Lista de valores de tipo enumerado.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

O tamanho máximo permitido para valores de string é de 32 caracteres.

NamedProperty.DateValues

Lista de valores de data.

Representação JSON
{
  "values": [
    {
      object (Date)
    }
  ]
}
Campos
values[]

object (Date)

NamedProperty.TextValues

Lista de valores de texto.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

O tamanho máximo permitido para valores de texto é de 2.048 caracteres.

NamedProperty.HtmlValues

Lista de valores HTML.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

O tamanho máximo permitido para valores html é de 2.048 caracteres.

ItemContent

Conteúdo de um item a ser indexado e exibido pelo Cloud Search. Apenas strings codificadas em UTF-8 são permitidas como inlineContent. Se o conteúdo for enviado, e não for binário, ele precisará ser codificado em UTF-8.

Representação 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

Informações de hash calculadas e fornecidas pelo cliente da API para conteúdo. Pode ser usado com o método items.push para calcular o estado modificado. O tamanho máximo é de 2.048 caracteres.

Campo de união content.

content pode ser apenas de um dos tipos a seguir:

inlineContent

string (bytes format)

Conteúdo fornecido inline no método de atualização. O tamanho máximo é de 102.400 bytes (100 KiB).

Uma string codificada em base64.

contentDataRef

object (UploadItemRef)

Faça upload do ID de referência de um conteúdo enviado anteriormente com o método de gravação.

ItemContent.ContentFormat

Formato do conteúdo. Se o formato for RAW, o conteúdo precisará estar no formato especificado por mimeType.

Enums
UNSPECIFIED Valor inválido.
HTML contentFormat é HTML.
TEXT contentFormat é um texto livre.
RAW contentFormat são bytes brutos.

UploadItemRef

Representa uma referência de sessão de upload. Essa referência é criada com upload method. Essa referência é válida por 30 dias após a criação. A atualização do conteúdo do item pode se referir a este conteúdo enviado por meio de contentDataRef.

Representação JSON
{
  "name": string
}
Campos
name

string

O nome da referência de conteúdo. O tamanho máximo é de 2.048 caracteres.

ItemStatus

Contém o status do item e todos os erros.

Representação JSON
{
  "code": enum (ItemStatus.Code),
  "processingErrors": [
    {
      object (ProcessingError)
    }
  ],
  "repositoryErrors": [
    {
      object (RepositoryError)
    }
  ]
}
Campos
code

enum (ItemStatus.Code)

Código de status.

processingErrors[]

object (ProcessingError)

Detalhes do erro caso o item esteja no estado ERRO.

repositoryErrors[]

object (RepositoryError)

Erro de repositório informado pelo conector.

ProcessingError

Representação JSON
{
  "code": enum (ProcessingErrorCode),
  "errorMessage": string,
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
Campos
code

enum (ProcessingErrorCode)

Código de erro indicando a natureza do erro.

errorMessage

string

Descrição do erro.

fieldViolations[]

object (FieldViolation)

Se os campos do item forem inválidos, ele vai conter os detalhes sobre os erros de validação.

ProcessingErrorCode

Códigos para indicar o erro encontrado durante o processamento de itens pelo servidor do Cloud Search. Um único item pode conter vários erros de processamento.

Enums
PROCESSING_ERROR_CODE_UNSPECIFIED Valor somente de entrada. Use esse valor em Itens.
MALFORMED_REQUEST A ACL, os metadados ou o conteúdo do item estão incorretos ou em estado inválido. FieldViolações contém mais detalhes sobre onde está o problema.
UNSUPPORTED_CONTENT_FORMAT O formato de contagem não é compatível.
INDIRECT_BROKEN_ACL Itens com informações incompletas da ACL devido à herança de outros itens com ACL corrompida ou por ter grupos com descendentes não mapeados.
ACL_CYCLE O gráfico de herança da ACL formou um ciclo.

FieldViolation

Representação JSON
{
  "field": string,
  "description": string
}
Campos
field

string

Caminho do campo com violação.

description

string

Descrição do erro.

RepositoryError

Erros na comunicação do conector com o repositório de origem.

Representação JSON
{
  "type": enum (RepositoryError.Type),
  "httpStatusCode": integer,
  "errorMessage": string
}
Campos
type

enum (RepositoryError.Type)

O tipo de erro.

httpStatusCode

integer

Códigos de erro. Corresponde à definição dos códigos de status HTTP.

errorMessage

string

Mensagem que descreve o erro. O tamanho máximo permitido da mensagem é de 8.192 caracteres.

RepositoryError.Type

Lista de códigos de erro para problemas de comunicação com o repositório.

Enums
UNKNOWN Erro desconhecido.
NETWORK_ERROR Host desconhecido ou inacessível.
DNS_ERROR Problema de DNS, por exemplo, o servidor DNS não está respondendo.
CONNECTION_ERROR Não é possível se conectar ao servidor do repositório.
AUTHENTICATION_ERROR Falha na autenticação devido a credenciais incorretas.
AUTHORIZATION_ERROR A conta de serviço não está autorizada para o repositório.
SERVER_ERROR Erro no servidor do repositório.
QUOTA_EXCEEDED Cota excedida.
SERVICE_UNAVAILABLE Servidor temporariamente indisponível.
CLIENT_ERROR Erro relacionado ao cliente, como uma solicitação inválida do conector para o servidor do repositório.

Item.ItemType

Enums
UNSPECIFIED
CONTENT_ITEM Item indexado com o único propósito de exibir informações. Esses itens não podem ser referenciados nos campos containerName ou inheritAclFrom.
CONTAINER_ITEM Um item que é indexado e tem a finalidade de fornecer ACLs e/ou conter outros itens a outros itens.
VIRTUAL_CONTAINER_ITEM Um item que não é indexado, mas tem a mesma finalidade que CONTAINER_ITEM.

Métodos

delete

Exclui Item resource para o nome do recurso especificado.

deleteQueueItems

Exclui todos os itens em uma fila.

get

Recebe Item resource pelo nome do item.

index

Atualiza a ACL, os metadados e o conteúdo do Item.

list

Lista todos ou um subconjunto de Item resources.

poll

Pesquisa itens não reservados na fila de indexação e marca um conjunto como reservado, começando com itens que têm o carimbo de data/hora mais antigo do ItemStatus de prioridade mais alta.

push

Envia um item para uma fila para pesquisa e atualização posteriores.

unreserve

Cancela a reserva de todos os itens de uma fila, tornando todos qualificados para pesquisa.

upload

Cria uma sessão de upload para enviar conteúdo do item.