REST Resource: indexing.datasources.items

Ressource: Item

Représente un seul objet qui est un élément de l'index de recherche, comme un fichier, un dossier ou un enregistrement de base de données.

Représentation 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)
}
Champs
name

string

Nom de l'article. Format: datasources/{sourceId}/items/{itemId}

Ce champ est obligatoire. La longueur maximale est de 1 536 caractères.

acl

object (ItemAcl)

Liste de contrôle d'accès de cet élément.

metadata

object (ItemMetadata)

Informations des métadonnées.

structuredData

object (ItemStructuredData)

Données structurées de l'élément qui doivent respecter une définition d'objet enregistrée dans le schéma de la source de données.

content

object (ItemContent)

Contenu de l'élément à indexer et à rendre accessible par recherche de texte.

version

string (bytes format)

Obligatoire. Le système d'indexation stocke la version de la source de données sous la forme d'une chaîne d'octets et compare la version de l'article dans l'index à celle de l'article mis en file d'attente à l'aide d'un tri lexical.

L'indexation Cloud Search n'indexe ni ne supprime aucun élément mis en file d'attente dont la version est inférieure ou égale à celle de l'élément actuellement indexé. La longueur maximale de ce champ est de 1 024 octets.

Pour en savoir plus sur l'impact de la version de l'élément sur le processus de suppression, consultez Gérer les révisions après une suppression manuelle.

Chaîne encodée en base64.

status

object (ItemStatus)

État de l'article. Champ de sortie uniquement.

queue

string

File d'attente à laquelle cet élément appartient. La longueur ne doit pas dépasser 100 caractères.

payload

string (bytes format)

Connecteur d'état supplémentaire pouvant être stocké pour cet élément. La longueur maximale est de 10 000 octets.

Chaîne encodée en base64.

itemType

enum (Item.ItemType)

Type de cet élément.

ItemAcl

Informations de la liste de contrôle d'accès pour l'élément. Pour en savoir plus, consultez Mappeur de LCA.

Représentation JSON
{
  "inheritAclFrom": string,
  "aclInheritanceType": enum (ItemAcl.AclInheritanceType),
  "readers": [
    {
      object (Principal)
    }
  ],
  "deniedReaders": [
    {
      object (Principal)
    }
  ],
  "owners": [
    {
      object (Principal)
    }
  ]
}
Champs
inheritAclFrom

string

Nom de l'élément dont la liste d'autorisations d'accès (LCA) doit hériter. Remarque: L'héritage des ACL uniquement fournit des autorisations d'accès aux éléments enfants et ne définit pas de relations structurelles, ni ne fournit de moyens pratiques de supprimer de grands groupes d'éléments. Supprimer un parent de LCA de l'index ne modifie que les autorisations d'accès des éléments enfants qui font référence au parent dans le champ inheritAclFrom. L'élément est toujours dans l'index, mais il est possible qu'il ne s'affiche pas dans les résultats de recherche. En revanche, la suppression d'un élément de conteneur entraîne également la suppression de tous les éléments qui font référence au conteneur via le champ containerName. La longueur maximale de ce champ est de 1 536 caractères.

aclInheritanceType

enum (ItemAcl.AclInheritanceType)

Définit le type de règles d'accès à appliquer lorsqu'un élément hérite de sa LCA d'un parent. Cette valeur doit toujours être définie en tandem avec le champ inheritAclFrom. De plus, lorsque le champ inheritAclFrom est défini, il doit être défini sur un AclInheritanceType valide.

readers[]

object (Principal)

Liste des comptes principaux autorisés à voir l'élément dans les résultats de recherche. Facultatif si l'élément hérite des autorisations d'un autre élément ou s'il n'est pas destiné à être visible, par exemple virtual containers. Le nombre maximal d'éléments est de 1 000.

deniedReaders[]

object (Principal)

Liste des comptes principaux auxquels l'accès à l'élément est explicitement refusé dans les résultats de recherche. Bien que l'accès soit refusé par défaut aux principaux, utilisez des lecteurs refusés pour gérer les exceptions et remplacer la liste des lecteurs autorisés. Le nombre maximal d'éléments est de 100.

owners[]

object (Principal)

Facultatif. Liste des propriétaires de l'élément. Ce champ n'a aucune incidence sur les autorisations d'accès aux documents. Toutefois, il offre un léger coup de pouce au classement des éléments dont l'utilisateur à l'origine de la requête est le propriétaire. Le nombre maximal d'éléments est de cinq.

ItemAcl.AclInheritanceType

Types d'héritage des LCA.

Enums
NOT_APPLICABLE Valeur par défaut lorsque cet élément n'hérite pas d'une LCA. Utilisez NOT_APPLICABLE lorsque inheritAclFrom est vide. Un élément sans héritage de LCA peut toujours avoir des LCA fournies par ses propres champs readers et deniedReaders.
CHILD_OVERRIDE En cas de conflit d'autorisation, la LCA de l'élément enfant détermine son accès en lecture.
PARENT_OVERRIDE En cas de conflit d'autorisation, la LCA de l'élément parent spécifiée dans le champ inheritAclFrom détermine l'accès en lecture.
BOTH_PERMIT L'accès n'est accordé que si cet élément et l'élément parent spécifié dans le champ inheritAclFrom autorisent l'accès en lecture.

Compte principal

Référence à un utilisateur, un groupe ou un domaine.

Représentation 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.
}
Champs

Champ d'union principal.

principal ne peut être qu'un des éléments suivants :

gsuitePrincipal

object (GSuitePrincipal)

Ce compte principal est un utilisateur, un groupe ou un domaine Google Workspace.

userResourceName

string

Il s'agit d'un utilisateur identifié à l'aide d'une identité externe. Le champ "name" doit spécifier le nom de la ressource utilisateur au format suivant: identitysources/{sourceId}/users/{ID}

groupResourceName

string

Ce principal est un groupe identifié à l'aide d'une identité externe. Le champ "name" doit spécifier le nom de la ressource de groupe au format suivant: identitysources/{sourceId}/groups/{ID}

ItemMetadata

Champs de métadonnées disponibles pour l'élément.

Représentation 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)
    }
  ]
}
Champs
title

string

Titre de l'article. Si cette valeur est fournie, elle correspond au titre affiché du résultat de la requête.search. La longueur maximale est de 2 048 caractères.

sourceRepositoryUrl

string

Lien vers le dépôt source qui fournit les données. Les résultats de recherche appliquent ce lien au titre. Les espaces blancs ou les caractères spéciaux peuvent entraîner l'affichage d'une notification de redirection pour les liens vers les résultats de recherche dans Cloud Search. Pour éviter cela, encodez l'URL. La longueur maximale est de 2 048 caractères.

containerName

string

Nom du conteneur de cet élément. La suppression de l'élément conteneur entraîne la suppression automatique de cet élément. Remarque: Les LCA ne sont pas héritées d'un élément de conteneur. Pour fournir l'héritage de LCA pour un élément, utilisez le champ inheritAclFrom. La longueur maximale est de 1 536 caractères.

objectType

string

Type de l'élément. Il doit correspondre au nom d'une définition d'objet dans le schéma enregistré pour la source de données. Par exemple, si le schéma de la source de données contient une définition d'objet nommée "document", les requêtes d'indexation d'éléments pour les objets de ce type doivent définir objectType sur "document". La longueur maximale est de 256 caractères.

createTime

string (Timestamp format)

Heure à laquelle l'élément a été créé dans le dépôt source.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Heure à laquelle l'élément a été modifié pour la dernière fois dans le dépôt source.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

interactions[]

object (Interaction)

Liste des interactions pour l'article. Les interactions sont utilisées pour améliorer la qualité de la recherche query.search, mais elles ne sont pas exposées aux utilisateurs finaux. Le nombre maximal d'éléments est de 1 000.

contentLanguage

string

Code de langue BCP-47 de l'élément, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez la page http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. La longueur ne doit pas dépasser 32 caractères.

mimeType

string

Type MIME d'origine de ItemContent.content dans le dépôt source. La longueur maximale est de 256 caractères.

searchQualityMetadata

object (SearchQualityMetadata)

Métadonnées supplémentaires sur la qualité de la recherche de l'article

keywords[]

string

Mots clés ou expressions supplémentaires qui doivent correspondre à l'article. Utilisé en interne pour le contenu généré par les utilisateurs. Le nombre maximal d'éléments est de 100. La longueur maximale est de 8 192 caractères.

hash

string

Valeur de hachage fournie par l'appelant de l'API. Vous pouvez l'utiliser avec la méthode items.push pour calculer l'état modifié. La longueur maximale est de 2 048 caractères.

contextAttributes[]

object (ContextAttribute)

Ensemble d'attributs nommés associés à l'article. Vous pouvez l'utiliser pour influencer le classement de l'élément en fonction du contexte de la requête. Le nombre maximal d'éléments est de 10.

Interaction

Représente une interaction entre un utilisateur et un élément.

Représentation JSON
{
  "type": enum (Interaction.InteractionType),
  "principal": {
    object (Principal)
  },
  "interactionTime": string
}
Champs
type

enum (Interaction.InteractionType)

principal

object (Principal)

Utilisateur ayant effectué une action sur l'élément.

interactionTime

string (Timestamp format)

Heure à laquelle l'utilisateur a effectué une action sur l'élément. Si plusieurs actions du même type existent pour un même utilisateur, seule l'action la plus récente est enregistrée.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

Interaction.InteractionType

Type d'activité effectuée par l'utilisateur sur l'élément.

Enums
UNSPECIFIED Valeur incorrecte.
VIEW Cette interaction indique que l'utilisateur a consulté l'élément.
EDIT Cette interaction indique que l'utilisateur a modifié l'élément.

SearchQualityMetadata

Métadonnées supplémentaires sur la qualité de la recherche de l'article.

Représentation JSON
{
  "quality": number
}
Champs
quality

number

Indique la qualité de l'élément, qui permet d'influencer la qualité de la recherche. La valeur doit être comprise entre 0,0 (qualité la plus basse) et 1,0 (qualité la plus élevée). La valeur par défaut est 0.0.

ContextAttribute

Attribut nommé associé à un élément qui peut être utilisé pour influencer le classement de l'élément en fonction du contexte de la requête.

Représentation JSON
{
  "name": string,
  "values": [
    string
  ]
}
Champs
name

string

Nom de l'attribut. Ce champ ne doit pas être vide. La longueur ne doit pas dépasser 32 caractères. Le nom doit commencer par une lettre et ne peut contenir que des lettres (A-Z, a-z) ou des chiffres (0-9). Le nom est normalisé (mis en minuscules) avant d'être mis en correspondance.

values[]

string

Valeurs textuelles de l'attribut. Le nombre maximal d'éléments est de 10. La longueur maximale d'un élément du tableau est de 32 caractères. La valeur est normalisée (mise en minuscules) avant d'être mise en correspondance.

ItemStructuredData

Champs de données structurées disponibles pour l'article.

Représentation JSON
{
  "object": {
    object (StructuredDataObject)
  },
  "hash": string
}
Champs
object

object (StructuredDataObject)

Objet de données structurées qui doit se conformer à une définition d'objet enregistrée dans le schéma de la source de données.

hash

string

Valeur de hachage fournie par l'appelant de l'API. Vous pouvez l'utiliser avec la méthode items.push pour calculer l'état modifié. La longueur maximale est de 2 048 caractères.

StructuredDataObject

Objet de données structurées composé de propriétés nommées.

Représentation JSON
{
  "properties": [
    {
      object (NamedProperty)
    }
  ]
}
Champs
properties[]

object (NamedProperty)

Propriétés de l'objet. Le nombre maximal d'éléments est de 1 000.

NamedProperty

Paire nom-valeur typée pour les données structurées. Le type de la valeur doit être identique au type enregistré pour la propriété name dans la définition de l'objet objectType.

Représentation 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.
}
Champs
name

string

Nom de la propriété. Ce nom doit correspondre au nom de la propriété enregistrée pour la définition d'objet dans le schéma. La longueur maximale autorisée pour cette propriété est de 256 caractères.

Champ d'union value. Valeur(s) de la propriété nommée. Notez qu'une propriété ne peut contenir que des valeurs d'un seul type. value ne peut être qu'un des éléments suivants :
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

Liste de valeurs entières.

Représentation JSON
{
  "values": [
    string
  ]
}
Champs
values[]

string (int64 format)

NamedProperty.DoubleValues

Liste de valeurs doubles.

Représentation JSON
{
  "values": [
    number
  ]
}
Champs
values[]

number

NamedProperty.TimestampValues

Liste des valeurs de code temporel.

Représentation JSON
{
  "values": [
    string
  ]
}
Champs
values[]

string (Timestamp format)

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

NamedProperty.ObjectValues

Liste des valeurs de l'objet.

Représentation JSON
{
  "values": [
    {
      object (StructuredDataObject)
    }
  ]
}
Champs
values[]

object (StructuredDataObject)

NamedProperty.EnumValues

Liste des valeurs d'énumération.

Représentation JSON
{
  "values": [
    string
  ]
}
Champs
values[]

string

La longueur maximale autorisée pour les valeurs de chaîne est de 32 caractères.

NamedProperty.DateValues

Liste des valeurs de date.

Représentation JSON
{
  "values": [
    {
      object (Date)
    }
  ]
}
Champs
values[]

object (Date)

NamedProperty.TextValues

Liste de valeurs textuelles.

Représentation JSON
{
  "values": [
    string
  ]
}
Champs
values[]

string

La longueur maximale autorisée pour les valeurs textuelles est de 2 048 caractères.

NamedProperty.HtmlValues

Liste des valeurs HTML.

Représentation JSON
{
  "values": [
    string
  ]
}
Champs
values[]

string

La longueur maximale autorisée pour les valeurs HTML est de 2 048 caractères.

ItemContent

Contenu d'un élément à indexer et à afficher par Cloud Search. Seules les chaînes encodées en UTF-8 sont autorisées en tant que inlineContent. Si le contenu est importé et non binaire, il doit être encodé au format UTF-8.

Représentation 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.
}
Champs
contentFormat

enum (ItemContent.ContentFormat)

hash

string

Informations de hachage calculées et fournies par le client API pour le contenu. Peut être utilisé avec la méthode items.push pour calculer l'état modifié. La longueur maximale est de 2 048 caractères.

Champ d'union content.

content ne peut être qu'un des éléments suivants :

inlineContent

string (bytes format)

Contenu fourni en ligne dans la méthode de mise à jour. La longueur maximale est de 10 2400 octets (100 ko).

Chaîne encodée en base64.

contentDataRef

object (UploadItemRef)

Importez l'ID de référence d'un contenu précédemment importé via la méthode d'écriture.

ItemContent.ContentFormat

Format du contenu. Si le format est RAW, le contenu doit être au format spécifié par mimeType.

Enums
UNSPECIFIED Valeur incorrecte.
HTML contentFormat est HTML.
TEXT contentFormat est un texte libre.
RAW contentFormat est un octet brut.

UploadItemRef

Représente une référence de session d'importation. Cette référence est créée via upload method. Cette référence est valable pendant 30 jours après sa création. La mise à jour du contenu de l'article peut faire référence à ce contenu importé via contentDataRef.

Représentation JSON
{
  "name": string
}
Champs
name

string

Nom de la référence de contenu. La longueur maximale est de 2 048 caractères.

ItemStatus

Il contient l'état de l'élément et les erreurs éventuelles.

Représentation JSON
{
  "code": enum (ItemStatus.Code),
  "processingErrors": [
    {
      object (ProcessingError)
    }
  ],
  "repositoryErrors": [
    {
      object (RepositoryError)
    }
  ]
}
Champs
code

enum (ItemStatus.Code)

Code d'état.

processingErrors[]

object (ProcessingError)

Détails de l'erreur si l'élément est en état "ERROR".

repositoryErrors[]

object (RepositoryError)

Erreur de dépôt signalée par le connecteur.

ProcessingError

Représentation JSON
{
  "code": enum (ProcessingErrorCode),
  "errorMessage": string,
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
Champs
code

enum (ProcessingErrorCode)

Code d'erreur indiquant la nature de l'erreur.

errorMessage

string

Description de l'erreur.

fieldViolations[]

object (FieldViolation)

Si les champs des articles ne sont pas valides, ce champ contient des informations sur les erreurs de validation.

ProcessingErrorCode

Codes permettant d'indiquer l'erreur rencontrée lors du traitement des éléments par le serveur Cloud Search. Un seul élément peut contenir plusieurs erreurs de traitement.

Enums
PROCESSING_ERROR_CODE_UNSPECIFIED Valeur à saisir uniquement. Utilisez cette valeur dans "Éléments".
MALFORMED_REQUEST La liste de contrôle d'accès (ACL), les métadonnées ou le contenu de l'élément sont mal formés ou ne sont pas valides. FieldViolations contient plus d'informations sur l'emplacement du problème.
UNSUPPORTED_CONTENT_FORMAT Le format du contenu n'est pas compatible.
INDIRECT_BROKEN_ACL Éléments dont les informations de LCA sont incomplètes en raison de l'héritage d'autres éléments dont la LCA est incorrecte ou de groupes dont les descendants ne sont pas mappés.
ACL_CYCLE Le graphique d'héritage des LCA formait un cycle.

FieldViolation

Représentation JSON
{
  "field": string,
  "description": string
}
Champs
field

string

Parcours du champ avec non-conformité.

description

string

Description de l'erreur.

RepositoryError

Erreurs lorsque le connecteur communique avec le dépôt source.

Représentation JSON
{
  "type": enum (RepositoryError.Type),
  "httpStatusCode": integer,
  "errorMessage": string
}
Champs
type

enum (RepositoryError.Type)

Type d'erreur.

httpStatusCode

integer

Codes d'erreur. Correspond à la définition des codes d'état HTTP.

errorMessage

string

Message décrivant l'erreur. La longueur maximale autorisée du message est de 8 192 caractères.

RepositoryError.Type

Liste des codes d'erreur pour les problèmes de communication avec le dépôt.

Enums
UNKNOWN Erreur inconnue.
NETWORK_ERROR Hôte inconnu ou inaccessible.
DNS_ERROR Problème DNS, par exemple si le serveur DNS ne répond pas.
CONNECTION_ERROR Impossible de se connecter au serveur du dépôt.
AUTHENTICATION_ERROR Échec de l'authentification en raison d'identifiants incorrects.
AUTHORIZATION_ERROR Le compte de service n'est pas autorisé pour le dépôt.
SERVER_ERROR Erreur du serveur du dépôt.
QUOTA_EXCEEDED Quota dépassé.
SERVICE_UNAVAILABLE Serveur temporairement indisponible.
CLIENT_ERROR Erreur liée au client, telle qu'une requête incorrecte du connecteur au serveur de dépôt.

Item.ItemType

Enums
UNSPECIFIED
CONTENT_ITEM Élément indexé dans le seul but de diffuser des informations. Ces éléments ne peuvent pas être référencés dans les champs containerName ou inheritAclFrom.
CONTAINER_ITEM Élément indexé dont l'objectif est de fournir des ACL à d'autres éléments et/ou de les contenir.
VIRTUAL_CONTAINER_ITEM Élément qui n'est pas indexé, mais qui a la même fonction que CONTAINER_ITEM.

Méthodes

delete

Supprime Item resource pour le nom de ressource spécifié.

deleteQueueItems

Supprime tous les éléments d'une file d'attente.

get

Récupère Item resource par nom d'élément.

index

Met à jour la LCA, les métadonnées et le contenu de Item.

list

Répertorie tous les Item resources ou un sous-ensemble.

poll

Recherche les éléments non réservés dans la file d'indexation et marque un ensemble comme réservé, en commençant par les éléments dont le code temporel est le plus ancien et la priorité la plus élevée ItemStatus.

push

Place un élément dans une file d'attente pour l'interroger et le mettre à jour plus tard.

unreserve

Libère tous les éléments d'une file d'attente, ce qui les rend tous éligibles à l'interrogation.

upload

Crée une session d'importation pour importer le contenu de l'élément.