REST Resource: indexing.datasources.items

Risorsa: elemento

Rappresenta un singolo oggetto che è un elemento nell'indice di ricerca, come 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 di 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 dell'elemento da indicizzare e rendere il testo disponibile per la ricerca.

version

string (bytes format)

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

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

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

Una stringa con codifica Base64.

status

object (ItemStatus)

Lo 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)

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

Una stringa con codifica Base64.

itemType

enum (Item.ItemType)

Il tipo di questo elemento.

ItemAcl

Informazioni dell'elenco di controllo di accesso per l'elemento. Per ulteriori informazioni, consulta la sezione Mappare gli ACL.

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 solo autorizzazioni di accesso agli elementi secondari e non definisce relazioni strutturali, né offre modi pratici per eliminare gruppi di elementi di grandi dimensioni. Se elimini un elemento principale ACL dall'indice, vengono modificate solo le autorizzazioni di accesso degli elementi secondari che fanno riferimento all'elemento padre 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 è di 1536 caratteri.

aclInheritanceType

enum (ItemAcl.AclInheritanceType)

Imposta il tipo di regole di accesso da applicare quando un elemento eredita il relativo ACL da un elemento padre. Deve sempre essere impostato insieme al campo inheritAclFrom. Inoltre, quando il campo inheritAclFrom è impostato, questo campo deve essere impostato su un AclInheritanceType valido.

readers[]

object (Principal)

Elenco delle entità autorizzate a visualizzare l'elemento nei risultati di ricerca. Facoltativo se erediti 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 è esplicitamente negato l'accesso all'elemento nei risultati di ricerca. Mentre alle entità viene negato l'accesso per impostazione predefinita, utilizza i lettori negati per gestire le eccezioni e sostituire l'elenco dei lettori consentiti. Il numero massimo di elementi è 100.

owners[]

object (Principal)

Campo facoltativo. Elenco dei proprietari dell'elemento. Questo campo non riguarda le autorizzazioni di accesso ai documenti. Tuttavia, offre un leggero ranking per gli elementi di cui l'utente che effettua la query è un proprietario. Il numero massimo di elementi è 5.

ItemAcl.AclInheritanceType

I tipi di ereditarietà ACL.

Enum
NOT_APPLICABLE Il valore predefinito quando questo 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 secondario determina il suo accesso in lettura.
PARENT_OVERRIDE Durante un conflitto di autorizzazione, l'ACL dell'elemento principale specificato nel campo inheritAclFrom determina l'accesso in lettura.
BOTH_PERMIT L'accesso viene concesso solo se questo elemento e l'elemento principale specificati 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 di 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 Nome 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 Nome deve specificare il nome della risorsa di gruppo con questo formato: Identitysources/{sourceId}/groups/{ID}

ItemMetadata

Campi di 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 fornito, questo sarà il titolo visualizzato del risultato query.search. La lunghezza massima è di 2048 caratteri.

sourceRepositoryUrl

string

Link al repository di origine che fornisce i dati. I risultati di ricerca applicano questo link al titolo. Lo spazio vuoto o i caratteri speciali possono causare l'attivazione di un avviso di reindirizzamento da parte dei link dei risultati di Cloud Seach. Per evitare che ciò accada, codifica l'URL. La lunghezza massima è di 2048 caratteri.

containerName

string

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

objectType

string

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

createTime

string (Timestamp format)

La data e l'ora in cui l'elemento è stato creato nel repository di origine.

Un timestamp in formato "Zulu" UTC RFC3339, 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 origine.

Un timestamp in formato "Zulu" UTC RFC3339, 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 dell'articolo, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, vedi 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à della ricerca dell'elemento

keywords[]

string

Parole chiave o frasi aggiuntive che dovrebbero corrispondere all'articolo. 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. Questa opzione 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 denominati associati all'articolo. Può essere utilizzato per influenzare il ranking dell'elemento in base al contesto della 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 eseguito un'azione sull'elemento. Se esistono più azioni dello stesso tipo per un singolo utente, viene registrata solo l'azione più recente.

Un timestamp in formato "Zulu" UTC RFC3339, 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'elemento.
EDIT Questa interazione indica che l'utente ha modificato l'elemento.

SearchQualityMetadata

Metadati aggiuntivi sulla qualità della ricerca dell'elemento.

Rappresentazione JSON
{
  "quality": number
}
Campi
quality

number

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

ContextAttribute

Un attributo denominato 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 deve 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 verrà normalizzato (minuscolo) prima di essere abbinato.

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 della corrispondenza.

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 dell'oggetto registrato nello schema per l'origine dati.

hash

string

Valore di hashing fornito dal chiamante dell'API. Questa opzione 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 tipizzata per i dati strutturati. Il tipo del valore deve essere uguale a quello 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 proprietà. 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 di unione value. I valori della proprietà denominata. Tieni presente che una proprietà può contenere solo i 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 di valori timestamp.

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

string (Timestamp format)

Un timestamp in formato "Zulu" UTC RFC3339, 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 delle stringhe è 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 è 2048 caratteri.

ItemContent

Contenuto di un elemento che deve essere indicizzato e visualizzato in Cloud Search. Solo le stringhe con codifica UTF-8 sono consentite come inlineContent. Se i contenuti vengono 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 di unione content.

content può essere solo uno dei seguenti:

inlineContent

string (bytes format)

Contenuti incorporati nel metodo di aggiornamento. La lunghezza massima è di 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 è un formato di testo libero.
RAW Il formato di contentFormat è costituito da byte non elaborati.

UploadItemRef

Rappresenta un riferimento di sessione di caricamento. Questo riferimento viene creato tramite upload method. Questo riferimento è valido per 30 giorni dalla sua creazione. L'aggiornamento dei contenuti degli elementi 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

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)

Nel caso in cui i campi elemento non siano validi, questo campo contiene i dettagli relativi agli errori di convalida.

ProcessingErrorCode

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

Enum
PROCESSING_ERROR_CODE_UNSPECIFIED Inserisci solo valore. Utilizza questo valore in Elementi.
MALFORMED_REQUEST L'ACL, i metadati o i contenuti dell'elemento non sono nel formato corretto o sono in 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 di gruppi con discendenti non mappati.
ACL_CYCLE Il grafico dell'ereditarietà ACL ha formato 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 del messaggio è 8192 caratteri.

RepositoryError.Type

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

Enum
UNKNOWN Errore sconosciuto.
NETWORK_ERROR Host sconosciuto o non raggiungibile.
DNS_ERROR Problema relativo al DNS, ad esempio che 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 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 del repository.

Item.ItemType

Enum
UNSPECIFIED
CONTENT_ITEM Elemento indicizzato al solo scopo di fornire informazioni. Non è possibile fare riferimento a questi elementi nei campi containerName o inheritAclFrom.
CONTAINER_ITEM Un 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 comunque 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 Item ACL, metadati e contenuti.

list

Elenca tutti i campi o un sottoinsieme di Item resources.

poll

Esegue il polling degli elementi non prenotati dalla coda di indicizzazione e contrassegna un insieme come prenotato, a partire dagli elementi con il timestamp meno recente dalla priorità più alta (ItemStatus).

push

Esegue il push di un elemento a una coda per eseguire il polling e l'aggiornamento in un secondo momento.

unreserve

Annulla la prenotazione di tutti gli elementi da una coda, rendendoli tutti idonei per il polling.

upload

Crea una sessione di caricamento per il caricamento dei contenuti degli articoli.