REST Resource: indexing.datasources.items

Risorsa: elemento

Rappresenta un singolo oggetto che è un elemento dell'indice di ricerca, ad esempio un file, una cartella o un record di database.

Rappresentazione 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)
}
Campi
name

string

Il nome dell'articolo. Formato: datasources/{sourceId}/items/{itemId}

Questo campo è obbligatorio. La lunghezza massima è di 1536 caratteri.

acl

object (ItemAcl)

Elenco di controllo dell'accesso per questo elemento.

metadata

object (ItemMetadata)

Le informazioni sui metadati.

structuredData

object (ItemStructuredData)

I dati strutturati per l'elemento che devono essere conformi a una definizione di oggetto registrato nello schema dell'origine dati.

content

object (ItemContent)

Contenuti degli elementi da indicizzare e rendere il testo disponibile per la ricerca.

version

string (bytes format)

Obbligatorio. Il sistema di indicizzazione archivia la versione dell'origine dati come stringa di byte e confronta la versione dell'elemento nell'indice con la versione dell'elemento in coda utilizzando l'ordine grammaticale.

L'indicizzazione di Cloud Search non indicizza né elimina alcun elemento in coda con un valore di versione inferiore o uguale a quello dell'elemento attualmente indicizzato. La lunghezza massima per questo campo è 1024 byte.

Per informazioni su come la versione dell'elemento influisce sul processo di eliminazione, consulta Gestire le revisioni dopo le eliminazioni manuali.

Una stringa con codifica base64.

status

object (ItemStatus)

Stato dell'articolo. Campo di solo output.

queue

string

Coda a cui appartiene questo elemento. La lunghezza massima è di 100 caratteri.

payload

string (bytes format)

Un connettore di stato aggiuntivo può archiviare per questo elemento. La lunghezza massima è 10.000 byte.

Una stringa con codifica base64.

itemType

enum (Item.ItemType)

Il tipo di questo elemento.

ItemAcl

Le informazioni dell'elenco di controllo dell'accesso per l'elemento. Per ulteriori informazioni, consulta la sezione ACL sulla mappa.

Rappresentazione JSON
{
  "inheritAclFrom": string,
  "aclInheritanceType": enum (ItemAcl.AclInheritanceType),
  "readers": [
    {
      object (Principal)
    }
  ],
  "deniedReaders": [
    {
      object (Principal)
    }
  ],
  "owners": [
    {
      object (Principal)
    }
  ]
}
Campi
inheritAclFrom

string

Il nome dell'elemento da cui ereditare l'elenco di autorizzazioni di accesso (ACL). Nota: l'ereditarietà ACL fornisce le autorizzazioni di accesso solo agli elementi secondari e non definisce relazioni strutturali, né offre metodi comodi per eliminare grandi gruppi di elementi. L'eliminazione di un elemento padre ACL dall'indice modifica solo le autorizzazioni di accesso degli elementi secondari che fanno riferimento all'elemento principale nel campo inheritAclFrom. L'elemento è ancora nell'indice, ma potrebbe non essere visibile nei risultati di ricerca. Al contrario, l'eliminazione di un elemento contenitore comporta anche l'eliminazione di tutti gli elementi che fanno riferimento al contenitore tramite il campo containerName. La lunghezza massima per questo campo è 1536 caratteri.

aclInheritanceType

enum (ItemAcl.AclInheritanceType)

Consente di impostare il tipo di regole di accesso da applicare quando un elemento eredita l'ACL da un elemento padre. Deve sempre essere impostato insieme al campo inheritAclFrom. Inoltre, se viene impostato il campo inheritAclFrom, questo campo deve essere impostato su un valore AclInheritanceType valido.

readers[]

object (Principal)

Elenco di entità autorizzate a visualizzare l'elemento nei risultati di ricerca. Facoltativo se si ereditano le autorizzazioni da un altro elemento o se l'elemento non deve essere visibile, ad esempio virtual containers. Il numero massimo di elementi è 1000.

deniedReaders[]

object (Principal)

Elenco delle entità a cui è stato negato in modo esplicito l'accesso all'elemento nei risultati di ricerca. Mentre alle entità viene negato l'accesso per impostazione predefinita, usa i lettori negati per gestire le eccezioni e sostituire l'elenco dei lettori consentiti. Il numero massimo di elementi è 100.

owners[]

object (Principal)

(Facoltativo) Elenco dei proprietari dell'elemento. Questo campo non influisce sulle autorizzazioni di accesso ai documenti. Tuttavia, offre un leggero ranking degli elementi in cui l'utente che ha eseguito la query è un proprietario. Il numero massimo di elementi è 5.

ItemAcl.AclInheritanceType

I tipi di ereditarietà ACL.

Enum
NOT_APPLICABLE Il valore predefinito quando l'elemento non eredita un ACL. Utilizza NOT_APPLICABLE quando inheritAclFrom è vuoto. Un elemento senza ereditarietà ACL può comunque avere ACL forniti dai propri campi readers e deniedReaders.
CHILD_OVERRIDE Durante un conflitto di autorizzazione, l'ACL dell'elemento figlio ne determina l'accesso in lettura.
PARENT_OVERRIDE Durante un conflitto di autorizzazione, l'ACL dell'elemento padre specificato nel campo inheritAclFrom determina l'accesso in lettura.
BOTH_PERMIT L'accesso viene concesso solo se questo elemento e l'elemento principale specificato nel campo inheritAclFrom consentono entrambi l'accesso in lettura.

Entità

Riferimento a un utente, un gruppo o un dominio.

Rappresentazione 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.
}
Campi

Campo unione principal.

principal può essere solo uno dei seguenti:

gsuitePrincipal

object (GSuitePrincipal)

Questa entità è un utente, un gruppo o un dominio di Google Workspace.

userResourceName

string

Questa entità è un utente identificato utilizzando un'identità esterna. Il campo name deve specificare il nome della risorsa utente con questo formato: Identitysources/{sourceId}/users/{ID}

groupResourceName

string

Questa entità è un gruppo identificato utilizzando un'identità esterna. Il campo Name deve specificare il nome della risorsa del gruppo con il seguente formato: Identitysources/{sourceId}/groups/{ID}

ItemMetadata

Campi dei metadati disponibili per l'elemento.

Rappresentazione 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)
    }
  ]
}
Campi
title

string

Il titolo dell'articolo. Se specificato, sarà il titolo visualizzato del risultato query.search. La lunghezza massima è di 2048 caratteri.

sourceRepositoryUrl

string

Link al repository di origine che gestisce i dati. I risultati di ricerca applicano questo link al titolo. Gli spazi vuoti o i caratteri speciali possono far sì che i link dei risultati di Cloud Seach attivino un avviso di reindirizzamento. per evitarlo, codifica l'URL. La lunghezza massima è di 2048 caratteri.

containerName

string

Il nome del contenitore di questo elemento. L'eliminazione dell'elemento contenitore comporta l'eliminazione automatica di questo elemento. Nota: gli ACL non vengono ereditati da un elemento container. Per fornire l'ereditarietà ACL per un elemento, utilizza il campo inheritAclFrom. La lunghezza massima è di 1536 caratteri.

objectType

string

Il tipo di articolo. Dovrebbe corrispondere al nome di una definizione di oggetto nello schema registrato per l'origine dati. Ad esempio, se lo schema dell'origine dati contiene una definizione dell'oggetto con il nome "document", le richieste di indicizzazione di elementi per gli oggetti di quel tipo devono impostare objectType su "document". La lunghezza massima è di 256 caratteri.

createTime

string (Timestamp format)

L'ora in cui l'elemento è stato creato nel repository di origine.

Un timestamp nel formato RFC3339 UTC "Zulu" con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

La data e l'ora dell'ultima modifica dell'elemento nel repository di codice sorgente.

Un timestamp nel formato RFC3339 UTC "Zulu" con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

interactions[]

object (Interaction)

Un elenco di interazioni per l'elemento. Le interazioni vengono utilizzate per migliorare la qualità query.search, ma non sono esposte agli utenti finali. Il numero massimo di elementi è 1000.

contentLanguage

string

Il codice lingua BCP-47 per l'articolo, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. La lunghezza massima è di 32 caratteri.

mimeType

string

Il tipo MIME originale di ItemContent.content nel repository di codice sorgente. La lunghezza massima è di 256 caratteri.

searchQualityMetadata

object (SearchQualityMetadata)

Metadati aggiuntivi sulla qualità di ricerca dell'elemento

keywords[]

string

Parole chiave o frasi aggiuntive che dovrebbero corrispondere all'elemento. Utilizzati internamente per i contenuti generati dagli utenti. Il numero massimo di elementi è 100. La lunghezza massima è di 8192 caratteri.

hash

string

Valore di hashing fornito dal chiamante dell'API. Può essere utilizzata con il metodo items.push per calcolare lo stato modificato. La lunghezza massima è di 2048 caratteri.

contextAttributes[]

object (ContextAttribute)

Un insieme di attributi con nome associati all'articolo. Questo può essere utilizzato per influenzare il ranking dell'elemento in base al contesto nella richiesta. Il numero massimo di elementi è 10.

Interazione

Rappresenta un'interazione tra un utente e un elemento.

Rappresentazione JSON
{
  "type": enum (Interaction.InteractionType),
  "principal": {
    object (Principal)
  },
  "interactionTime": string
}
Campi
type

enum (Interaction.InteractionType)

principal

object (Principal)

L'utente che ha eseguito un'azione sull'elemento.

interactionTime

string (Timestamp format)

L'ora in cui l'utente ha agito sull'elemento. Se sono presenti più azioni dello stesso tipo per un singolo utente, viene registrata solo l'azione più recente.

Un timestamp nel formato RFC3339 UTC "Zulu" con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

Interaction.InteractionType

Il tipo di attività che l'utente ha eseguito sull'elemento.

Enum
UNSPECIFIED Valore non valido.
VIEW Questa interazione indica che l'utente ha visualizzato l'articolo.
EDIT Questa interazione indica che l'utente ha modificato l'elemento.

SearchQualityMetadata

Metadati aggiuntivi sulla qualità di ricerca dell'elemento.

Rappresentazione JSON
{
  "quality": number
}
Campi
quality

number

Un'indicazione della qualità dell'articolo, utilizzata per influenzare la qualità della ricerca. deve essere compreso tra 0,0 (qualità più bassa) e 1,0 (qualità massima). Il valore predefinito è 0,0.

ContextAttribute

Un attributo con nome associato a un articolo che può essere utilizzato per influenzare il ranking dell'articolo in base al contesto nella richiesta.

Rappresentazione JSON
{
  "name": string,
  "values": [
    string
  ]
}
Campi
name

string

Il nome dell'attributo. Il campo non può essere vuoto. La lunghezza massima è di 32 caratteri. Il nome deve iniziare con una lettera e può contenere solo lettere (A-Z, a-z) o numeri (0-9). Il nome viene normalizzato (minuscolo) prima della corrispondenza.

values[]

string

Valori di testo dell'attributo. Il numero massimo di elementi è 10. La lunghezza massima di un elemento nell'array è di 32 caratteri. Il valore verrà normalizzato (minuscolo) prima di essere abbinato.

ItemStructuredData

Campi di dati strutturati disponibili per l'elemento.

Rappresentazione JSON
{
  "object": {
    object (StructuredDataObject)
  },
  "hash": string
}
Campi
object

object (StructuredDataObject)

L'oggetto di dati strutturati che deve essere conforme a una definizione di oggetto registrato nello schema dell'origine dati.

hash

string

Valore di hashing fornito dal chiamante dell'API. Può essere utilizzata con il metodo items.push per calcolare lo stato modificato. La lunghezza massima è di 2048 caratteri.

StructuredDataObject

Un oggetto di dati strutturati costituito da proprietà con nome.

Rappresentazione JSON
{
  "properties": [
    {
      object (NamedProperty)
    }
  ]
}
Campi
properties[]

object (NamedProperty)

Le proprietà dell'oggetto. Il numero massimo di elementi è 1000.

NamedProperty

Una coppia nome-valore digitata per i dati strutturati. Il tipo di valore deve essere identico al tipo registrato per la proprietà name nella definizione dell'oggetto di objectType.

Rappresentazione 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.
}
Campi
name

string

Il nome della struttura. Questo nome deve corrispondere al nome della proprietà registrata per la definizione dell'oggetto nello schema. La lunghezza massima consentita per questa proprietà è 256 caratteri.

Campo unione value. I valori della proprietà denominata. Tieni presente che una proprietà può contenere solo valori di un tipo. value può essere solo uno dei seguenti:
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

Elenco di valori interi.

Rappresentazione JSON
{
  "values": [
    string
  ]
}
Campi
values[]

string (int64 format)

NamedProperty.DoubleValues

Elenco di valori doppi.

Rappresentazione JSON
{
  "values": [
    number
  ]
}
Campi
values[]

number

NamedProperty.TimestampValues

Elenco dei valori del timestamp.

Rappresentazione JSON
{
  "values": [
    string
  ]
}
Campi
values[]

string (Timestamp format)

Un timestamp nel formato RFC3339 UTC "Zulu" con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

NamedProperty.ObjectValues

Elenco dei valori degli oggetti.

Rappresentazione JSON
{
  "values": [
    {
      object (StructuredDataObject)
    }
  ]
}
Campi
values[]

object (StructuredDataObject)

NamedProperty.EnumValues

Elenco di valori enum.

Rappresentazione JSON
{
  "values": [
    string
  ]
}
Campi
values[]

string

La lunghezza massima consentita per i valori di stringa è di 32 caratteri.

NamedProperty.DateValues

Elenco dei valori delle date.

Rappresentazione JSON
{
  "values": [
    {
      object (Date)
    }
  ]
}
Campi
values[]

object (Date)

NamedProperty.TextValues

Elenco di valori di testo.

Rappresentazione JSON
{
  "values": [
    string
  ]
}
Campi
values[]

string

La lunghezza massima consentita per i valori di testo è di 2048 caratteri.

NamedProperty.HtmlValues

Elenco di valori HTML.

Rappresentazione JSON
{
  "values": [
    string
  ]
}
Campi
values[]

string

La lunghezza massima consentita per i valori HTML è di 2048 caratteri.

ItemContent

Contenuti di un elemento che devono essere indicizzati e visualizzati da Cloud Search. Solo le stringhe con codifica UTF-8 sono consentite come inlineContent. Se i contenuti sono caricati e non sono binari, la codifica deve essere UTF-8.

Rappresentazione 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.
}
Campi
contentFormat

enum (ItemContent.ContentFormat)

hash

string

Informazioni di hashing calcolate e fornite dal client API per i contenuti. Può essere utilizzato con il metodo items.push per calcolare lo stato modificato. La lunghezza massima è di 2048 caratteri.

Campo unione content.

content può essere solo uno dei seguenti:

inlineContent

string (bytes format)

Contenuti forniti incorporati nel metodo di aggiornamento. La lunghezza massima è 102.400 byte (100 KiB).

Una stringa con codifica base64.

contentDataRef

object (UploadItemRef)

Carica l'ID di riferimento di un contenuto caricato in precedenza tramite il metodo di scrittura.

ItemContent.ContentFormat

Il formato dei contenuti. Se il formato è RAW, i contenuti devono essere nel formato specificato da mimeType.

Enum
UNSPECIFIED Valore non valido.
HTML contentFormat è HTML.
TEXT contentFormat è testo libero.
RAW contentFormat è byte non elaborati.

UploadItemRef

Rappresenta il riferimento di una sessione di caricamento. Questo riferimento viene creato tramite upload method. Questo riferimento è valido per 30 giorni dalla sua creazione. L'aggiornamento dei contenuti dell'elemento potrebbe fare riferimento a questi contenuti caricati tramite contentDataRef.

Rappresentazione JSON
{
  "name": string
}
Campi
name

string

Il nome del riferimento ai contenuti. La lunghezza massima è di 2048 caratteri.

ItemStatus

Questa colonna contiene lo stato dell'elemento e gli eventuali errori.

Rappresentazione JSON
{
  "code": enum (ItemStatus.Code),
  "processingErrors": [
    {
      object (ProcessingError)
    }
  ],
  "repositoryErrors": [
    {
      object (RepositoryError)
    }
  ]
}
Campi
code

enum (ItemStatus.Code)

Codice di stato.

processingErrors[]

object (ProcessingError)

Dettagli dell'errore nel caso in cui l'elemento sia in stato ERRORE.

repositoryErrors[]

object (RepositoryError)

Errore del repository segnalato dal connettore.

ProcessingError

Rappresentazione JSON
{
  "code": enum (ProcessingErrorCode),
  "errorMessage": string,
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
Campi
code

enum (ProcessingErrorCode)

Codice di errore che indica la natura dell'errore.

errorMessage

string

La descrizione dell'errore.

fieldViolations[]

object (FieldViolation)

Se i campi elemento non sono validi, questo campo conterrà i dettagli sugli errori di convalida.

ProcessingErrorCode

Codici per indicare l'errore riscontrato durante l'elaborazione degli elementi da parte del server Cloud Search. Un singolo articolo può contenere più errori di elaborazione.

Enum
PROCESSING_ERROR_CODE_UNSPECIFIED Inserisci solo il valore. Utilizza questo valore in Elementi.
MALFORMED_REQUEST ACL, metadati o contenuti dell'elemento non sono nel formato corretto o hanno uno stato non valido. FieldViolations contiene ulteriori dettagli sulla posizione del problema.
UNSUPPORTED_CONTENT_FORMAT Il formato del conteggio non è supportato.
INDIRECT_BROKEN_ACL Elementi con informazioni ACL incomplete a causa dell'ereditarietà di altri elementi con ACL non funzionante o della presenza di gruppi con discendenti non mappati.
ACL_CYCLE Il grafico dell'ereditarietà dell'ACL formava un ciclo.

FieldViolation

Rappresentazione JSON
{
  "field": string,
  "description": string
}
Campi
field

string

Percorso del campo con violazione.

description

string

La descrizione dell'errore.

RepositoryError

Errori durante la comunicazione del connettore con il repository di origine.

Rappresentazione JSON
{
  "type": enum (RepositoryError.Type),
  "httpStatusCode": integer,
  "errorMessage": string
}
Campi
type

enum (RepositoryError.Type)

Il tipo di errore.

httpStatusCode

integer

Codici di errore. Corrisponde alla definizione dei codici di stato HTTP.

errorMessage

string

Messaggio che descrive l'errore. La lunghezza massima consentita per il messaggio è 8192 caratteri.

RepositoryError.Type

Elenco di codici di errore per problemi di comunicazione con il repository.

Enum
UNKNOWN Errore sconosciuto.
NETWORK_ERROR Host sconosciuto o non raggiungibile.
DNS_ERROR Problema DNS, ad esempio il server DNS non risponde.
CONNECTION_ERROR Impossibile connettersi al server del repository.
AUTHENTICATION_ERROR Autenticazione non riuscita a causa di credenziali errate.
AUTHORIZATION_ERROR L'account di servizio non è autorizzato per il repository.
SERVER_ERROR Errore del server del repository.
QUOTA_EXCEEDED Quota superata.
SERVICE_UNAVAILABLE Server temporaneamente non disponibile.
CLIENT_ERROR Errore relativo al client, ad esempio una richiesta non valida dal connettore al server di repository.

Item.ItemType

Enum
UNSPECIFIED
CONTENT_ITEM Un elemento indicizzato al solo scopo di fornire informazioni. Non è possibile fare riferimento a questi elementi nei campi containerName o inheritAclFrom.
CONTAINER_ITEM Elemento che viene indicizzato e il cui scopo è fornire altri elementi con ACL e/o contenere altri elementi.
VIRTUAL_CONTAINER_ITEM Un elemento che non viene indicizzato, ma che per il resto ha lo stesso scopo di CONTAINER_ITEM.

Metodi

delete

Elimina Item resource per il nome della risorsa specificato.

deleteQueueItems

Elimina tutti gli elementi in una coda.

get

Recupera Item resource per nome elemento.

index

Aggiorna ACL, metadati e contenuti di Item.

list

Elenca tutti o un sottoinsieme di Item resources.

poll

Sondaggio per gli elementi non prenotati dalla coda di indicizzazione e contrassegna un insieme come prenotato, iniziando dagli elementi con il timestamp meno recente e con la priorità più alta ItemStatus.

push

Invia un elemento in una coda per il polling e l'aggiornamento successivi.

unreserve

Consente di annullare la prenotazione di tutti gli elementi di una coda, in modo che siano tutti idonei a essere sottoposti a polling.

upload

Crea una sessione di caricamento per caricare i contenuti degli articoli.