REST Resource: indexing.datasources.items

Recurso: item

Representa um único objeto que é um item no índice de pesquisa, como um arquivo, uma 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

O nome do item. Formato: fontes de dados/{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 uma definição de objeto registrado no esquema da fonte de dados.

content

object (ItemContent)

Conteúdo do item a ser indexado e o 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 ordem léxica.

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

Para mais informações 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

Colocar este item na fila. O comprimento máximo é de 100 caracteres.

payload

string (bytes format)

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

Uma string codificada em base64.

itemType

enum (Item.ItemType)

O tipo deste item.

ItemAcl

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

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 do qual herdar a lista de permissões de acesso (ACL). Observação: a herança da ACL fornece permissões de acesso para itens filhos, não define relações estruturais, nem oferece maneiras convenientes de excluir grandes grupos de itens. Excluir um pai da ACL do índice altera somente as permissões de acesso dos itens filhos que fazem referência ao pai no campo inheritAclFrom. O item ainda está no índice, mas pode não aparecer 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 o campo inheritAclFrom é definido, ele precisa ser definido como um AclInheritanceType válido.

readers[]

object (Principal)

Lista dos 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 tiver a intenção de ficar visível, como virtual containers. O número máximo de elementos é 1.000.

deniedReaders[]

object (Principal)

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

owners[]

object (Principal)

Opcional. Lista de proprietários do item. Este campo não afeta as permissões de acesso a documentos. No entanto, ele oferece uma pequena classificação de itens em que o usuário que faz a consulta é um proprietário. O número máximo de elementos é cinco.

ItemAcl.AclInheritanceType

Os tipos de herança de ACL.

Enums
NOT_APPLICABLE O valor padrão quando esse 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 seu 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 será concedido somente se este item e o item pai especificado no campo inheritAclFrom permitirem o 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 de nome deve especificar o nome do recurso do usuário com este formato: identitysources/{sourceId}/users/{ID}

groupResourceName

string

Este principal é um grupo identificado com o uso de uma identidade externa. O campo de nome deve especificar o nome do recurso de 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 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 esse link ao título. Espaços em branco ou caracteres especiais podem fazer com que os links de resultados 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 de contêiner leva à exclusão automática do item. Observação: as ACLs não são herdadas de um item de contêiner. Para fornecer a herança de ACL a 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 origem de dados contiver uma definição de objeto com o nome "document", as solicitações de indexação de itens para objetos desse tipo deverão 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 RFC3339 UTC "Zulu", 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 RFC3339 UTC "Zulu", 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 de 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 do item, como "pt-BR" ou "sr-Latn". 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 de pesquisa do item

keywords[]

string

Palavras-chave ou frases adicionais 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 da 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 realizou a ação no item.

interactionTime

string (Timestamp format)

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

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", 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 de pesquisa do item.

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

number

Indica a 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 do item 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 vazio. 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 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 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 o mesmo que o registrado para a propriedade name na definição do objeto de 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 nome 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 só pode conter 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 RFC3339 UTC "Zulu", 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 enum.

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 é 2.048 caracteres.

ItemContent

Conteúdo de um item a ser indexado e exibido pelo Cloud Search. Somente strings codificadas em UTF-8 são permitidas como inlineContent. Se o conteúdo for enviado e não for binário, ele terá que 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 o 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 em linha no método de atualização. O tamanho máximo é de 102.400 bytes (100 KiB).

Uma string codificada em base64.

contentDataRef

object (UploadItemRef)

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

ItemContent.ContentFormat

O formato do conteúdo. Se o formato for RAW, o conteúdo vai 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 via upload method. Essa referência é válida por 30 dias após sua 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 do conteúdo. O tamanho máximo é de 2.048 caracteres.

ItemStatus

Contém o status do item e 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 no repositório relatado pelo conector.

ProcessingError

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

enum (ProcessingErrorCode)

Código de erro que indica a natureza do erro.

errorMessage

string

A descrição do erro.

fieldViolations[]

object (FieldViolation)

Caso os campos do item sejam 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 apenas de entrada. Use esse valor em "Itens".
MALFORMED_REQUEST A ACL, os metadados ou o conteúdo do item estão malformados ou em estado inválido. O campo "FieldViolations" contém mais detalhes sobre a localização do problema.
UNSUPPORTED_CONTENT_FORMAT O formato do contador não é compatível.
INDIRECT_BROKEN_ACL Itens com informações incompletas sobre a ACL devido à herança de outros itens com ACL corrompida ou a 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

A descrição do erro.

RepositoryError

Erros quando o conector está se comunicando 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 de 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 de repositório.

Item.ItemType

Enums
UNSPECIFIED
CONTENT_ITEM Um item indexado com a única finalidade de exibir informações. Esses itens não podem ser indicados nos campos containerName ou inheritAclFrom.
CONTAINER_ITEM Um item que é indexado e cujo objetivo é fornecer a outros itens com ACLs e/ou conter 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 do nome de recurso especificado.

deleteQueueItems

Exclui todos os itens de 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 da fila de indexação e marca um conjunto como reservado, começando pelos itens que têm o carimbo de data/hora mais antigo da 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 eles qualificados para pesquisa.

upload

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