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: 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 de metadados.

structuredData

object (ItemStructuredData)

Os dados estruturados do item que precisam estar em conformidade com uma definição de objeto registrada no esquema da fonte de dados.

content

object (ItemContent)

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

version

string (bytes format)

Obrigatório. O sistema de indexação armazena a versão da origem 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 lexical.

A indexação do Cloud Search não vai indexar nem excluir nenhum item na fila com um valor de versão menor ou igual ao do item indexado. O comprimento máximo para esse campo é de 1.024 bytes.

Para saber 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 o item pertence. O comprimento máximo é de 100 caracteres.

payload

string (bytes format)

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

Uma string codificada em base64.

itemType

enum (Item.ItemType)

O tipo do item.

ItemAcl

Acessar informações da lista de controle de acesso do 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) será herdada. Observação: a herança de ACL somente fornece permissões de acesso a itens filhos e não define relações estruturais nem oferece maneiras convenientes de excluir grandes grupos de itens. A exclusão de um pai de ACL do índice altera apenas as permissões de acesso de itens filhos que fazem referência ao pai no campo inheritAclFrom. O item ainda está no índice, mas pode não estar 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 pelo campo containerName. O tamanho máximo deste 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 item 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 de participantes que podem acessar o item nos resultados da pesquisa. Opcional se herdar permissões de outro item ou se o item não for destinado a ser visível, como virtual containers. O número máximo de elementos é 1.000.

deniedReaders[]

object (Principal)

Lista de participantes que têm acesso negado explicitamente ao item nos resultados da pesquisa. Embora o acesso seja negado aos principais por padrão, use leitores negados para processar 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. Esse campo não tem relação com as permissões de acesso a documentos. No entanto, ela oferece um pequeno aumento na classificação de itens em que o usuário que faz a consulta é proprietário. O número máximo de elementos é 5.

ItemAcl.AclInheritanceType

Os tipos de herança de ACL.

Enums
NOT_APPLICABLE O valor padrão quando o 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 este 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)

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

userResourceName

string

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

groupResourceName

string

Esse 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

O título do item. Se fornecido, será o título exibido do resultado da consulta. O comprimento máximo é de 2.048 caracteres.

sourceRepositoryUrl

string

Link para o repositório de origem que serve 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 dos resultados da Pesquisa do Google acionem um aviso de redirecionamento. Para evitar isso, codifique o URL. O comprimento máximo é de 2.048 caracteres.

containerName

string

O nome do contêiner do item. A exclusão do item do contêiner leva à exclusão automática desse item. Observação: as ACLs não são herdadas de um item de contêiner. Para fornecer a herança de ACL de um item, use o campo inheritAclFrom. O tamanho máximo é de 1.536 caracteres.

objectType

string

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

createTime

string (Timestamp format)

O horário 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 com 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)

Outros metadados de qualidade da pesquisa do item

keywords[]

string

Palavras-chave ou frases adicionais que precisam corresponder ao item. Usado internamente para conteúdo gerado pelo usuário. O número máximo de elementos é 100. O comprimento máximo é de 8.192 caracteres.

hash

string

Valor de hash fornecido pelo autor da chamada de API. Isso pode ser usado com o método items.push para calcular o estado modificado. O comprimento 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 agiu no item.

interactionTime

string (Timestamp format)

O horário em que o usuário realizou uma ação no item. Se houver várias ações do mesmo tipo para um único usuário, apenas a 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

Uma indicação da qualidade do item, usada para influenciar a qualidade da pesquisa. O valor precisa estar entre 0,0 (menor qualidade) e 1,0 (maior qualidade). 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 pode estar 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 (minúsculo) antes da correspondência.

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 (minúsculas) antes de ser comparado.

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 registrada no esquema da fonte de dados.

hash

string

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

StructuredDataObject

Um objeto de dados estruturado 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 do tipo 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 registrada para a definição do objeto no esquema. O comprimento 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 double.

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 de tipo enumerado.

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

string

O comprimento 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 comprimento 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 comprimento máximo permitido para valores HTML é de 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 por upload e não for binário, ele precisa 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 comprimento 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 comprimento 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 pelo método de gravação.

ItemContent.ContentFormat

O 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 é bytes brutos.

UploadItemRef

Representa uma referência de sessão de upload. Essa referência é criada usando 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 esse conteúdo enviado por contentDataRef.

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

string

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

ItemStatus

Ele 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 ERROR.

repositoryErrors[]

object (RepositoryError)

Erro do 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, esse campo contém 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 de entrada. Use esse valor em "Itens".
MALFORMED_REQUEST A ACL, os metadados ou o conteúdo do item estão com formato incorreto ou em estado inválido. FieldViolations contém mais detalhes sobre onde está o problema.
UNSUPPORTED_CONTENT_FORMAT O formato do conteúdo não é aceito.
INDIRECT_BROKEN_ACL Itens com informações de ACL incompletas devido à herança de outros itens com ACL corrompida ou com grupos com descendentes não mapeados.
ACL_CYCLE O gráfico de herança de 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 comprimento 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, como 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 O servidor está 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 Um 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 indexado que tem como finalidade fornecer ACLs a outros itens 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 para o nome do 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 de Item.

list

Lista todos ou um subconjunto de Item resources.

poll

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

push

Envia um item para uma fila e o pesquisa e atualiza mais tarde.

unreserve

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

upload

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