REST Resource: indexing.datasources.items

Zasób: Item

Reprezentuje pojedynczy obiekt, który jest elementem w indeksie wyszukiwania, np. plik, folder lub rekord bazy danych.

Zapis 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)
}
Pola
name

string

Nazwa produktu. Format: datasources/{sourceId}/items/{itemId}

To pole jest wymagane. Maksymalna długość to 1536 znaków.

acl

object (ItemAcl)

Lista kontroli dostępu do tego elementu.

metadata

object (ItemMetadata)

informacje metadanych.

structuredData

object (ItemStructuredData)

Uporządkowane dane dotyczące produktu, które powinny być zgodne ze zdefiniowaną definicją obiektu w schemacie źródła danych.

content

object (ItemContent)

Treści elementów, które mają zostać zindeksowane i udostępnione do wyszukiwania.

version

string (bytes format)

Wymagane. System indeksowania przechowuje wersję z źródła danych jako ciąg bajtów i porównuje wersję produktu w indeksie z wersją produktu w kolejce za pomocą sortowania leksykalnego.

Wyszukiwanie w chmurze nie indeksuje ani nie usuwa żadnych elementów w kolejce o wartości wersji mniejszej lub równej wersji obecnie indeksowanego elementu. Maksymalna długość tego pola to 1024 bajty.

Informacje o tym, jak wersja elementu wpływa na proces usuwania, znajdziesz w artykule Zarządzanie wersjami po ręcznym usunięciu.

Ciąg znaków zakodowany w formacie Base64.

status

object (ItemStatus)

Stan produktu. Pole tylko z danymi wyjściowymi.

queue

string

kolejka, do której należy ten element. Maksymalna długość to 100 znaków.

payload

string (bytes format)

Dodatkowy stan, który może przechowywać łącznik. Maksymalna długość to 10 tys. bajtów.

Ciąg znaków zakodowany w formacie Base64.

itemType

enum (Item.ItemType)

Typ tego elementu.

ItemAcl

Informacje o liście kontroli dostępu dotyczące elementu. Więcej informacji znajdziesz w artykule Mapy ACL.

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

string

Nazwa elementu, z którego ma zostać odziedziczona lista uprawnień dostępu (ACL). Uwaga: dziedziczenie listy kontroli dostępu tylko zapewnia uprawnienia dostępu do elementów podrzędnych i nie definiuje relacji strukturalnych ani nie zapewnia wygodnych sposobów usuwania dużych grup elementów. Usunięcie elementu nadrzędnego w zasadach ACL z indeksu zmienia tylko uprawnienia dostępu elementów podrzędnych, które odwołują się do elementu nadrzędnego w polu inheritAclFrom. Element nadal znajduje się w indeksie, ale może nie być widoczny w wynikach wyszukiwania. Usunięcie elementu kontenera powoduje też usunięcie wszystkich elementów, które odwołują się do tego kontenera za pomocą pola containerName. Maksymalna długość tego pola to 1536 znaków.

aclInheritanceType

enum (ItemAcl.AclInheritanceType)

Określa typ reguł dostępu, które mają być stosowane, gdy element dziedziczy listę ACL od elementu nadrzędnego. Powinien być zawsze ustawiany razem z polem inheritAclFrom. Gdy pole inheritAclFrom jest ustawione, powinno ono mieć prawidłową wartość AclInheritanceType.

readers[]

object (Principal)

Lista administratorów, którzy mogą zobaczyć element w wynikach wyszukiwania. Opcjonalne, jeśli dziedziczysz uprawnienia z innego elementu lub jeśli element nie ma być widoczny, np. virtual containers. Maksymalna liczba elementów to 1000.

deniedReaders[]

object (Principal)

Lista podmiotów, którym wyraźnie odmówiono dostępu do produktu w wynikach wyszukiwania. Domyślnie podmiotom zabezpieczeń odmawia się dostępu, ale możesz użyć podmiotów zabezpieczeń odrzuconych, aby obsługiwać wyjątki i zastąpić listę dozwolonych podmiotów zabezpieczeń. Maksymalna liczba elementów to 100.

owners[]

object (Principal)

Opcjonalnie: Lista właścicieli elementu. To pole nie ma wpływu na uprawnienia dostępu do dokumentu. W przypadku zapytań wysyłanych przez właściciela następuje jednak niewielki wzrost pozycji w rankingu. Maksymalna liczba elementów to 5.

ItemAcl.AclInheritanceType

Typy dziedziczenia zasad dostępu.

Wartości w polu enum
NOT_APPLICABLE Wartość domyślna, gdy ten element nie dziedziczy listy ACL. Użyj NOT_APPLICABLE, gdy inheritAclFrom jest pusty. Element bez dziedziczenia list kontroli dostępu może nadal mieć listy kontroli dostępu podane w polach readersdeniedReaders.
CHILD_OVERRIDE W przypadku konfliktu autoryzacji dostęp do odczytu określa lista ACL obiektu podrzędnego.
PARENT_OVERRIDE W przypadku konfliktu autoryzacji dostęp do odczytu określa lista ACL elementu nadrzędnego określonego w polu inheritAclFrom.
BOTH_PERMIT Dostęp jest przyznawany tylko wtedy, gdy ten element i element nadrzędny określony w polu inheritAclFrom zezwalają na dostęp tylko do odczytu.

Podmiot zabezpieczeń

Odwołuje się do użytkownika, grupy lub domeny.

Zapis 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.
}
Pola

Pole unii principal.

principal może być tylko jednym z tych elementów:

gsuitePrincipal

object (GSuitePrincipal)

Ten podmiot zabezpieczeń to użytkownik, grupa lub domena Google Workspace.

userResourceName

string

Ten podmiot to użytkownik zidentyfikowany za pomocą tożsamości zewnętrznej. Pole nazwa musi zawierać nazwę zasobu użytkownika w formacie: identitysources/{sourceId}/users/{ID}

groupResourceName

string

Ten podmiot to grupa zidentyfikowana za pomocą tożsamości zewnętrznej. W polu nazwa musi być podana nazwa zasobu grupy w formacie: identitysources/{sourceId}/groups/{ID}

ItemMetadata

Dostępne pola metadanych dla elementu.

Zapis 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)
    }
  ]
}
Pola
title

string

Nazwa produktu. Jeśli zostanie podany, będzie to wyświetlany tytuł zapytania. Maksymalna długość to 2048 znaków.

sourceRepositoryUrl

string

Link do repozytorium źródłowego, które udostępnia dane. Wyniki wyszukiwania stosują ten link do tytułu. Białe znaki lub znaki specjalne mogą powodować, że linki do wyników wyszukiwania w usłudze Cloud Search będą wywoływać komunikat o przekierowaniu. Aby tego uniknąć, zakoduj adres URL. Maksymalna długość to 2048 znaków.

containerName

string

Nazwa kontenera dla tego elementu. Usunięcie elementu kontenera powoduje automatyczne usunięcie tego elementu. Uwaga: uprawnienia nie są dziedziczone z elementu kontenera. Aby zapewnić dziedziczenie listy kontroli dostępu dla elementu, użyj pola inheritAclFrom. Maksymalna długość to 1536 znaków.

objectType

string

Typ elementu. Powinna ona odpowiadać nazwie definicji obiektu w schemacie zarejestrowanym dla źródła danych. Jeśli na przykład schemat źródła danych zawiera definicję obiektu o nazwie „document”, to w prośbach o indeksowanie elementów tego typu należy ustawić parametr objectType na „document”. Maksymalna długość to 256 znaków.

createTime

string (Timestamp format)

Czas utworzenia elementu w repozytorium źródłowym.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Czas ostatniej modyfikacji elementu w repozytorium źródłowym.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

interactions[]

object (Interaction)

Lista interakcji z danym elementem. Interakcje służą do polepszania jakości zapytań, ale nie są widoczne dla użytkowników. Maksymalna liczba elementów to 1000.

contentLanguage

string

Kod języka BCP-47 produktu, np. „pl-PL” lub „sr-Latn”. Więcej informacji znajdziesz na stronie http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Maksymalna długość to 32 znaki.

mimeType

string

Pierwotny typ mime ItemContent.content w repozytorium źródłowym. Maksymalna długość to 256 znaków.

searchQualityMetadata

object (SearchQualityMetadata)

dodatkowe metadane dotyczące jakości wyszukiwania produktu;

keywords[]

string

Dodatkowe słowa kluczowe lub wyrażenia, które powinny pasować do produktu. Używany wewnętrznie do treści użytkowników. Maksymalna liczba elementów to 100. Maksymalna długość to 8192 znaki.

hash

string

Wartość funkcji szyfrowania dostarczona przez wywołującego interfejs API. Można go użyć z metodą items.push do obliczenia stanu zmodyfikowanego. Maksymalna długość to 2048 znaków.

contextAttributes[]

object (ContextAttribute)

Zbiór nazwanych atrybutów powiązanych z elementem. Można go używać do wpływania na pozycję produktu na podstawie kontekstu w żądaniu. Maksymalna liczba elementów to 10.

Interakcja

Reprezentuje interakcję użytkownika z elementem.

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

enum (Interaction.InteractionType)

principal

object (Principal)

Użytkownik, który wykonał działanie związane z elementem.

interactionTime

string (Timestamp format)

Czas, w którym użytkownik wykonał działanie związane z danym elementem. Jeśli w przypadku jednego użytkownika występuje kilka działań tego samego typu, rejestrowane jest tylko ostatnie działanie.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

Interaction.InteractionType

Rodzaj działania użytkownika dotyczącego produktu.

Wartości w polu enum
UNSPECIFIED Nieprawidłowa wartość.
VIEW Ta interakcja wskazuje, że użytkownik wyświetlił element.
EDIT Ta interakcja wskazuje, że użytkownik zmodyfikował element.

SearchQualityMetadata

dodatkowe metadane dotyczące jakości wyszukiwania elementu.

Zapis JSON
{
  "quality": number
}
Pola
quality

number

Wskaźnik jakości elementu, który wpływa na jakość wyszukiwania. Wartość powinna mieścić się w zakresie od 0,0 (najniższa jakość) do 1,0 (najwyższa jakość). Wartością domyślną jest 0,0.

ContextAttribute

Nazwany atrybut powiązany z elementem, który może służyć do wpływania na pozycję elementu na podstawie kontekstu w żądaniu.

Zapis JSON
{
  "name": string,
  "values": [
    string
  ]
}
Pola
name

string

Nazwa atrybutu. Nie może być pusty. Maksymalna długość to 32 znaki. Nazwa musi zaczynać się od litery i może zawierać tylko litery (A–Z, a–z) lub cyfry (0–9). Nazwa zostanie ujednolicona (zmieniona na małe litery) przed dopasowaniem.

values[]

string

Tekstowe wartości atrybutu. Maksymalna liczba elementów to 10. Maksymalna długość elementu w tablicy to 32 znaki. Wartość zostanie znormalizowana (przekształcona do małych liter) przed dopasowaniem.

ItemStructuredData

Dostępne pola uporządkowanych danych dla produktu.

Zapis JSON
{
  "object": {
    object (StructuredDataObject)
  },
  "hash": string
}
Pola
object

object (StructuredDataObject)

Obiekt danych strukturalnych, który powinien być zgodny ze zdefiniowaną definicją obiektu w schemacie źródła danych.

hash

string

Wartość funkcji szyfrowania dostarczona przez wywołującego interfejs API. Można go użyć z metodą items.push do obliczenia stanu zmodyfikowanego. Maksymalna długość to 2048 znaków.

StructuredDataObject

Obiekt danych uporządkowanych, który składa się z nazwanych właściwości.

Zapis JSON
{
  "properties": [
    {
      object (NamedProperty)
    }
  ]
}
Pola
properties[]

object (NamedProperty)

Właściwości obiektu. Maksymalna liczba elementów to 1000.

NamedProperty

Wpisana para nazwa-wartość danych uporządkowanych. Typ wartości powinien być taki sam jak zarejestrowany typ właściwości name w definicji obiektu objectType.

Zapis 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.
}
Pola
name

string

Nazwa nieruchomości. Nazwa powinna odpowiadać nazwie właściwości zarejestrowanej w definicji obiektu w schemacie. Maksymalna dopuszczalna długość tej właściwości to 256 znaków.

Pole unii value. Wartości właściwości o nazwie. Pamiętaj, że usługa może zawierać tylko wartości jednego typu. value może być tylko jednym z tych elementów:
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 wartości liczb całkowitych.

Zapis JSON
{
  "values": [
    string
  ]
}
Pola
values[]

string (int64 format)

NamedProperty.DoubleValues

Lista wartości typu double.

Zapis JSON
{
  "values": [
    number
  ]
}
Pola
values[]

number

NamedProperty.TimestampValues

Lista wartości sygnatury czasowej.

Zapis JSON
{
  "values": [
    string
  ]
}
Pola
values[]

string (Timestamp format)

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

NamedProperty.ObjectValues

Lista wartości obiektu.

Zapis JSON
{
  "values": [
    {
      object (StructuredDataObject)
    }
  ]
}
Pola
values[]

object (StructuredDataObject)

NamedProperty.EnumValues

Lista wartości typu wyliczeniowego.

Zapis JSON
{
  "values": [
    string
  ]
}
Pola
values[]

string

Maksymalna dopuszczalna długość wartości ciągu znaków to 32 znaki.

NamedProperty.DateValues

Lista wartości daty.

Zapis JSON
{
  "values": [
    {
      object (Date)
    }
  ]
}
Pola
values[]

object (Date)

NamedProperty.TextValues

Lista wartości tekstowych.

Zapis JSON
{
  "values": [
    string
  ]
}
Pola
values[]

string

Maksymalna dopuszczalna długość wartości tekstowych to 2048 znaków.

NamedProperty.HtmlValues

Lista wartości HTML.

Zapis JSON
{
  "values": [
    string
  ]
}
Pola
values[]

string

Maksymalna dopuszczalna długość wartości HTML to 2048 znaków.

ItemContent

Treści elementu, które mają być zindeksowane i wyświetlane przez Cloud Search. W elementach inlineContent mogą występować tylko ciągi znaków zakodowane w UTF-8. Jeśli przesyłane treści nie są binarne, muszą być zakodowane w formacie UTF-8.

Zapis 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.
}
Pola
contentFormat

enum (ItemContent.ContentFormat)

hash

string

informacje o zależności od hasha obliczone i dostarczone przez klienta interfejsu API dotyczące treści; Można go używać z metodą items.push do obliczania stanu zmodyfikowanego. Maksymalna długość to 2048 znaków.

Pole unii content.

content może być tylko jednym z tych elementów:

inlineContent

string (bytes format)

Treści podawane w ramach metody aktualizacji. Maksymalna długość to 102400 bajtów (100 KiB).

Ciąg znaków zakodowany w formacie Base64.

contentDataRef

object (UploadItemRef)

Przesyłanie identyfikatora referencyjnego wcześniej przesłanych treści za pomocą metody write.

ItemContent.ContentFormat

Format treści. Jeśli format to RAW, zawartość powinna być w formacie określonym przez mimeType.

Wartości w polu enum
UNSPECIFIED Nieprawidłowa wartość.
HTML Format treści to HTML.
TEXT Format treści to dowolny tekst.
RAW contentFormat to nieprzetworzone bajty.

UploadItemRef

Reprezentuje odwołanie do sesji przesyłania. Ten element referencyjny został utworzony za pomocą upload method. Ten link jest ważny przez 30 dni od jego utworzenia. Aktualizacja treści produktu może dotyczyć tych przesłanych treści za pomocą contentDataRef.

Zapis JSON
{
  "name": string
}
Pola
name

string

Nazwa pliku referencyjnego. Maksymalna długość to 2048 znaków.

ItemStatus

Zawiera stan elementu i wszelkie błędy.

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

enum (ItemStatus.Code)

Kod stanu.

processingErrors[]

object (ProcessingError)

Szczegóły błędu, jeśli element ma stan ERROR.

repositoryErrors[]

object (RepositoryError)

Oprogramowanie sprzęgające zgłosiło błąd repozytorium.

ProcessingError

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

enum (ProcessingErrorCode)

Kod błędu wskazujący charakter błędu.

errorMessage

string

Opis błędu.

fieldViolations[]

object (FieldViolation)

Jeśli pola elementów są nieprawidłowe, to pole zawiera informacje o błędach weryfikacji.

ProcessingErrorCode

Kody wskazujące błąd napotkany podczas przetwarzania elementów przez serwer Cloud Search. Pojedynczy element może zawierać wiele błędów przetwarzania.

Wartości w polu enum
PROCESSING_ERROR_CODE_UNSPECIFIED Wpisz tylko wartość. Użyj tej wartości w sekcji Elementy.
MALFORMED_REQUEST ACL, metadane lub zawartość produktu są nieprawidłowo sformatowane lub są w nieprawidłowym stanie. FieldViolations zawiera więcej informacji o problemie.
UNSUPPORTED_CONTENT_FORMAT Format treści jest nieobsługiwany.
INDIRECT_BROKEN_ACL Elementy z niekompletnymi informacjami o dostępie, ponieważ dziedziczą je od innych elementów z uszkodzonym dostępem lub zawierają grupy z niezmapowanymi elementami potomnymi.
ACL_CYCLE Graf dziedziczenia listy ACL tworzy cykl.

FieldViolation

Zapis JSON
{
  "field": string,
  "description": string
}
Pola
field

string

Ścieżka na polu z naruszeniem

description

string

Opis błędu.

RepositoryError

Błędy podczas komunikacji łącznika z repozytorium źródłowym.

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

enum (RepositoryError.Type)

Typ błędu.

httpStatusCode

integer

kody błędów. Zgodny z definicją kodów stanu HTTP.

errorMessage

string

Komunikat opisujący błąd. Maksymalna dopuszczalna długość wiadomości to 8192 znaki.

RepositoryError.Type

Lista kodów błędów związanych z problemami z łącznością z repozytorium.

Wartości w polu enum
UNKNOWN Nieznany błąd.
NETWORK_ERROR Nieznany lub niedostępny host.
DNS_ERROR problem z DNS, np. serwer DNS nie odpowiada;
CONNECTION_ERROR Nie można połączyć się z serwerem repozytorium.
AUTHENTICATION_ERROR Uwierzytelnianie się nie powiodło z powodu nieprawidłowych danych logowania.
AUTHORIZATION_ERROR Konto usługi nie ma uprawnień do repozytorium.
SERVER_ERROR Błąd serwera repozytorium.
QUOTA_EXCEEDED Przekroczono limit.
SERVICE_UNAVAILABLE Serwer jest tymczasowo niedostępny.
CLIENT_ERROR Błąd po stronie klienta, np. nieprawidłowe żądanie od łącznika do serwera repozytorium.

Item.ItemType

Wartości w polu enum
UNSPECIFIED
CONTENT_ITEM Element, który jest indeksowany tylko w celu wyświetlania informacji. tych elementów nie można uwzględniać w polach containerName ani inheritAclFrom;
CONTAINER_ITEM Element, który jest indeksowany i ma na celu dostarczanie innych elementów z zasadami kontroli dostępu lub zawiera inne elementy.
VIRTUAL_CONTAINER_ITEM Element, który nie jest indeksowany, ale w innym zakresie pełni tę samą funkcję co CONTAINER_ITEM.

Metody

delete

Usuwa Item resource dla określonej nazwy zasobu.

deleteQueueItems

Usuwa wszystkie elementy z kolejki.

get

Pobiera Item resource według nazwy produktu.

index

Aktualizuje Item listę kontroli dostępu, metadane i treści.

list

Wyświetla wszystkie lub podzbiór obiektów Item resources.

poll

Wypytuje o niezarezerwowane elementy z kolejki indeksowania i oznacza zestaw jako zarezerwowany, zaczynając od elementów o najstarszym sygnaturze czasowej o najwyższym priorytecie ItemStatus.

push

Przesyła element do kolejki w celu późniejszego odczytu i aktualizacji.

unreserve

Odblokowuje wszystkie elementy z kolejki, dzięki czemu można je pobrać.

upload

Tworzy sesję przesyłania do przesyłania treści produktu.