REST Resource: indexing.datasources.items

Ресурс: Предмет

Представляет один объект, являющийся элементом индекса поиска, например файл, папку или запись базы данных.

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)
}
Поля
name

string

Название предмета. Формат: источники данных/{sourceId}/items/{itemId}

Данное поле является обязательным к заполнению. Максимальная длина — 1536 символов.

acl

object ( ItemAcl )

Список контроля доступа для этого элемента.

metadata

object ( ItemMetadata )

Информация метаданных.

structuredData

object ( ItemStructuredData )

Структурированные данные для элемента, которые должны соответствовать зарегистрированному определению объекта в схеме источника данных.

content

object ( ItemContent )

Содержимое элемента, которое необходимо проиндексировать и сделать доступным для поиска по тексту.

version

string ( bytes format)

Необходимый. Система индексирования сохраняет версию из источника данных в виде байтовой строки и сравнивает версию элемента в индексе с версией объекта в очереди, используя лексическое упорядочение.

Индексирование Cloud Search не будет индексировать или удалять элементы в очереди, значение версии которых меньше или равно версии текущего индексируемого элемента. Максимальная длина этого поля составляет 1024 байта.

Информацию о том, как версия элемента влияет на процесс удаления, см. в разделе Обработка редакций после удаления вручную .

Строка в кодировке Base64.

status

object ( ItemStatus )

Статус предмета. Поле только для вывода.

queue

string

Очередь, к которой принадлежит этот элемент. Максимальная длина — 100 символов.

payload

string ( bytes format)

Для этого элемента может храниться дополнительный коннектор состояния. Максимальная длина — 10000 байт.

Строка в кодировке Base64.

itemType

enum ( Item.ItemType )

Тип этого элемента.

ItemAcl

Информация списка контроля доступа для элемента. Для получения дополнительной информации см. Сопоставление ACL .

JSON-представление
{
  "inheritAclFrom": string,
  "aclInheritanceType": enum (ItemAcl.AclInheritanceType),
  "readers": [
    {
      object (Principal)
    }
  ],
  "deniedReaders": [
    {
      object (Principal)
    }
  ],
  "owners": [
    {
      object (Principal)
    }
  ]
}
Поля
inheritAclFrom

string

Имя элемента, от которого наследуется список разрешений доступа (ACL). Примечание. Наследование ACL предоставляет только права доступа к дочерним элементам и не определяет структурные связи, а также не предоставляет удобных способов удаления больших групп элементов. Удаление родительского ACL из индекса изменяет только права доступа дочерних элементов, которые ссылаются на родительский элемент в поле inheritAclFrom . Элемент все еще находится в индексе, но может не отображаться в результатах поиска. Напротив, удаление элемента контейнера также удаляет все элементы, которые ссылаются на контейнер через containerName . Максимальная длина этого поля — 1536 символов.

aclInheritanceType

enum ( ItemAcl.AclInheritanceType )

Устанавливает тип правил доступа, которые будут применяться, когда элемент наследует свой ACL от родительского элемента. Это значение всегда следует устанавливать вместе с полем inheritAclFrom . Кроме того, если установлено поле inheritAclFrom , для этого поля должно быть установлено допустимое значение AclInheritanceType.

readers[]

object ( Principal )

Список участников, которым разрешено видеть элемент в результатах поиска. Необязательно, если вы наследуете разрешения от другого элемента или если элемент не должен быть видимым, например virtual containers . Максимальное количество элементов — 1000.

deniedReaders[]

object ( Principal )

Список участников, которым явно запрещен доступ к элементу в результатах поиска. Хотя участникам по умолчанию запрещен доступ, используйте запрещенные считыватели для обработки исключений и переопределения списка разрешенных читателей. Максимальное количество элементов — 100.

owners[]

object ( Principal )

Необязательный. Список владельцев предмета. Это поле не влияет на права доступа к документу. Тем не менее, он предлагает небольшое повышение рейтинга элементов, владельцем которых является запрашивающий пользователь. Максимальное количество элементов — 5.

ItemAcl.AclInheritanceType

Типы наследования ACL.

Перечисления
NOT_APPLICABLE Значение по умолчанию, когда этот элемент не наследует ACL. Используйте NOT_APPLICABLE, если inheritAclFrom пуст. Элемент без наследования ACL все равно может иметь ACL, предоставленные его собственными полями readers и deniedReaders .
CHILD_OVERRIDE Во время конфликта авторизации ACL дочернего элемента определяет его доступ на чтение.
PARENT_OVERRIDE Во время конфликта авторизации доступ на чтение определяется списком ACL родительского элемента, указанного в поле inheritAclFrom .
BOTH_PERMIT Доступ предоставляется только в том случае, если этот элемент и родительский элемент, указанный в поле inheritAclFrom , разрешают доступ для чтения.

Главный

Ссылка на пользователя, группу или домен.

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.
}
Поля

Полевой principal Союза.

principal может быть только одним из следующих:

gsuitePrincipal

object ( GSuitePrincipal )

Этот субъект является пользователем, группой или доменом Google Workspace.

userResourceName

string

Этот субъект является пользователем, идентифицируемым с использованием внешнего удостоверения. В поле имени должно быть указано имя пользовательского ресурса в следующем формате:identsources/{sourceId}/users/{ID}.

groupResourceName

string

Этот субъект представляет собой группу, идентифицируемую с помощью внешнего удостоверения. В поле имени должно быть указано имя ресурса группы в следующем формате:identsources/{sourceId}/groups/{ID}.

Метаданные элемента

Доступные поля метаданных для элемента.

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)
    }
  ]
}
Поля
title

string

Название предмета. Если задано, это будет отображаемый заголовок результата запроса.поиска. Максимальная длина — 2048 символов.

sourceRepositoryUrl

string

Ссылка на исходный репозиторий, в котором хранятся данные. Результаты поиска применяют эту ссылку к заголовку. Пробелы или специальные символы могут привести к тому, что ссылки на результаты Cloud Search инициируют уведомление о перенаправлении; чтобы избежать этого, закодируйте URL. Максимальная длина — 2048 символов.

containerName

string

Имя контейнера для этого элемента. Удаление элемента контейнера приводит к автоматическому удалению этого элемента. Примечание. Списки ACL не наследуются от элемента контейнера. Чтобы обеспечить наследование ACL для элемента, используйте поле inheritAclFrom . Максимальная длина — 1536 символов.

objectType

string

Тип предмета. Оно должно соответствовать имени определения объекта в схеме, зарегистрированной для источника данных. Например, если схема источника данных содержит определение объекта с именем «документ», то в запросах индексации элементов для объектов этого типа должно быть установлено значение «document». Максимальная длина — 256 символов.

createTime

string ( Timestamp format)

Время создания элемента в исходном репозитории.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

Время последнего изменения элемента в исходном репозитории.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

interactions[]

object ( Interaction )

Список взаимодействий для элемента. Взаимодействия используются для улучшения качества query.search, но не доступны конечным пользователям. Максимальное количество элементов — 1000.

contentLanguage

string

Код языка BCP-47 для элемента, например «en-US» или «sr-Latn». Для получения дополнительной информации см. http://www.unicode.org/reports/tr35/#Unicode_locale_identifier . Максимальная длина — 32 символа.

mimeType

string

Исходный mime-тип ItemContent.content в исходном репозитории. Максимальная длина — 256 символов.

searchQualityMetadata

object ( SearchQualityMetadata )

Дополнительные метаданные качества поиска элемента

keywords[]

string

Дополнительные ключевые слова или фразы, которые должны соответствовать элементу. Используется внутри пользователя для контента, созданного пользователем. Максимальное количество элементов — 100. Максимальная длина — 8192 символа.

hash

string

Значение хеширования, предоставленное вызывающей стороной API. Это можно использовать с методом items.push для расчета измененного состояния. Максимальная длина — 2048 символов.

contextAttributes[]

object ( ContextAttribute )

Набор именованных атрибутов, связанных с элементом. Это можно использовать для влияния на ранжирование элемента на основе контекста запроса. Максимальное количество элементов — 10.

Взаимодействие

Представляет взаимодействие между пользователем и элементом.

JSON-представление
{
  "type": enum (Interaction.InteractionType),
  "principal": {
    object (Principal)
  },
  "interactionTime": string
}
Поля
type

enum ( Interaction.InteractionType )

principal

object ( Principal )

Пользователь, действовавший с элементом.

interactionTime

string ( Timestamp format)

Время, когда пользователь действовал с элементом. Если для одного пользователя существует несколько действий одного типа, записывается только самое последнее действие.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

Взаимодействие.InteractionType

Тип действия, выполненного пользователем с элементом.

Перечисления
UNSPECIFIED Неверное значение.
VIEW Это взаимодействие указывает на то, что пользователь просмотрел элемент.
EDIT Это взаимодействие указывает на то, что пользователь отредактировал элемент.

Метаданные качества поиска

Дополнительные метаданные качества поиска элемента.

JSON-представление
{
  "quality": number
}
Поля
quality

number

Показатель качества элемента, используемый для влияния на качество поиска. значение должно находиться в диапазоне от 0,0 (самое низкое качество) до 1,0 (самое высокое качество). Значение по умолчанию — 0,0.

Контекстатрибуте

Именованный атрибут, связанный с элементом, который можно использовать для влияния на ранжирование элемента на основе контекста в запросе.

JSON-представление
{
  "name": string,
  "values": [
    string
  ]
}
Поля
name

string

Имя атрибута. Оно не должно быть пустым. Максимальная длина — 32 символа. Имя должно начинаться с буквы и может содержать только буквы (AZ, az) или цифры (0–9). Перед сопоставлением имя будет нормализовано (в нижнем регистре).

values[]

string

Текстовые значения атрибута. Максимальное количество элементов — 10. Максимальная длина элемента массива — 32 символа. Перед сопоставлением значение будет нормализовано (в нижнем регистре).

ItemStructuredData

Доступные поля структурированных данных для элемента.

JSON-представление
{
  "object": {
    object (StructuredDataObject)
  },
  "hash": string
}
Поля
object

object ( StructuredDataObject )

Объект структурированных данных, который должен соответствовать зарегистрированному определению объекта в схеме источника данных.

hash

string

Значение хеширования, предоставленное вызывающей стороной API. Это можно использовать с методом items.push для расчета измененного состояния. Максимальная длина — 2048 символов.

СтруктурированныйОбъект Данных

Структурированный объект данных, состоящий из именованных свойств.

JSON-представление
{
  "properties": [
    {
      object (NamedProperty)
    }
  ]
}
Поля
properties[]

object ( NamedProperty )

Свойства объекта. Максимальное количество элементов — 1000.

именованное свойство

Типизированная пара имя-значение для структурированных данных. Тип значения должен быть таким же, как зарегистрированный тип свойства name в определении объекта objectType .

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.
}
Поля
name

string

Название объекта недвижимости. Это имя должно соответствовать имени свойства, которое было зарегистрировано для определения объекта в схеме. Максимально допустимая длина этого свойства — 256 символов.

value поля объединения. Значение(я) именованного свойства. Обратите внимание, что свойство может содержать значения только одного типа. value может быть только одним из следующих:
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

Список целочисленных значений.

JSON-представление
{
  "values": [
    string
  ]
}
Поля
values[]

string ( int64 format)

NamedProperty.DoubleValues

Список двойных значений.

JSON-представление
{
  "values": [
    number
  ]
}
Поля
values[]

number

NamedProperty.TimestampValues

Список значений временных меток.

JSON-представление
{
  "values": [
    string
  ]
}
Поля
values[]

string ( Timestamp format)

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

NamedProperty.ObjectValues

Список значений объекта.

JSON-представление
{
  "values": [
    {
      object (StructuredDataObject)
    }
  ]
}
Поля
values[]

object ( StructuredDataObject )

NamedProperty.EnumValues

Список значений перечисления.

JSON-представление
{
  "values": [
    string
  ]
}
Поля
values[]

string

Максимально допустимая длина строковых значений — 32 символа.

NamedProperty.DateValues

Список значений дат.

JSON-представление
{
  "values": [
    {
      object (Date)
    }
  ]
}
Поля
values[]

object ( Date )

NamedProperty.TextValues

Список текстовых значений.

JSON-представление
{
  "values": [
    string
  ]
}
Поля
values[]

string

Максимально допустимая длина текстовых значений — 2048 символов.

NamedProperty.HtmlValues

Список значений HTML.

JSON-представление
{
  "values": [
    string
  ]
}
Поля
values[]

string

Максимально допустимая длина значений HTML — 2048 символов.

ЭлементСодержимое

Содержимое элемента, который будет индексироваться и отображаться с помощью Cloud Search. В качестве inlineContent разрешены только строки в кодировке UTF-8. Если контент загружается, а не является двоичным, он должен быть в кодировке UTF-8.

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.
}
Поля
contentFormat

enum ( ItemContent.ContentFormat )

hash

string

Информация хеширования рассчитывается и предоставляется клиентом API для контента. Может использоваться с методом items.push для расчета измененного состояния. Максимальная длина — 2048 символов.

content поля объединения.

content может быть только одним из следующих:

inlineContent

string ( bytes format)

Содержимое, предоставляемое встроенным в метод обновления. Максимальная длина — 102 400 байт (100 КиБ).

Строка в кодировке Base64.

contentDataRef

object ( UploadItemRef )

Загрузите ссылочный идентификатор ранее загруженного контента с помощью метода записи.

ItemContent.ContentFormat

Формат контента. Если формат RAW, содержимое должно быть в формате, указанном mimeType .

Перечисления
UNSPECIFIED Неверное значение.
HTML contentFormat — это HTML.
TEXT contentFormat — это произвольный текст.
RAW contentFormat — это необработанные байты.

ЗагрузитьItemRef

Представляет ссылку на сеанс отправки. Эта ссылка создается с помощью upload method . Эта ссылка действительна в течение 30 дней с момента ее создания. Обновление содержимого элемента может ссылаться на этот загруженный контент через contentDataRef .

JSON-представление
{
  "name": string
}
Поля
name

string

Имя ссылки на контент. Максимальная длина — 2048 символов.

Статус элемента

Он содержит статус элемента и любые ошибки.

JSON-представление
{
  "code": enum (ItemStatus.Code),
  "processingErrors": [
    {
      object (ProcessingError)
    }
  ],
  "repositoryErrors": [
    {
      object (RepositoryError)
    }
  ]
}
Поля
code

enum ( ItemStatus.Code )

Код состояния.

processingErrors[]

object ( ProcessingError )

Подробности об ошибке, если элемент находится в состоянии ОШИБКА.

repositoryErrors[]

object ( RepositoryError )

Ошибка репозитория, о которой сообщил соединитель.

Ошибка обработки

JSON-представление
{
  "code": enum (ProcessingErrorCode),
  "errorMessage": string,
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
Поля
code

enum ( ProcessingErrorCode )

Код ошибки, указывающий характер ошибки.

errorMessage

string

Описание ошибки.

fieldViolations[]

object ( FieldViolation )

Если поля элемента недействительны, это поле содержит сведения об ошибках проверки.

ОбработкаErrorCode

Коды для обозначения ошибки, возникшей при обработке элементов сервером Cloud Search. Один элемент может содержать несколько ошибок обработки.

Перечисления
PROCESSING_ERROR_CODE_UNSPECIFIED Введите только значение. Используйте это значение в элементах.
MALFORMED_REQUEST ACL, метаданные или содержимое элемента неверны или находятся в недопустимом состоянии. FieldViolations содержит более подробную информацию о том, в чем заключается проблема.
UNSUPPORTED_CONTENT_FORMAT Формат счета не поддерживается.
INDIRECT_BROKEN_ACL Элементы с неполной информацией ACL из-за наследования других элементов с нарушенным ACL или наличия групп с несопоставленными потомками.
ACL_CYCLE Граф наследования ACL сформировал цикл.

ПолеViolation

JSON-представление
{
  "field": string,
  "description": string
}
Поля
field

string

Путь поля с нарушением.

description

string

Описание ошибки.

Ошибка репозитория

Ошибки при обмене данными соединителя с исходным репозиторием.

JSON-представление
{
  "type": enum (RepositoryError.Type),
  "httpStatusCode": integer,
  "errorMessage": string
}
Поля
type

enum ( RepositoryError.Type )

Тип ошибки.

httpStatusCode

integer

Коды ошибок. Соответствует определению кодов состояния HTTP.

errorMessage

string

Сообщение, описывающее ошибку. Максимально допустимая длина сообщения — 8192 символа.

РепозиторийError.Type

Список кодов ошибок при проблемах связи с репозиторием.

Перечисления
UNKNOWN Неизвестная ошибка.
NETWORK_ERROR Неизвестный или недоступный хост.
DNS_ERROR Проблема с DNS, например, DNS-сервер не отвечает.
CONNECTION_ERROR Невозможно подключиться к серверу репозитория.
AUTHENTICATION_ERROR Не удалось выполнить аутентификацию из-за неверных учетных данных.
AUTHORIZATION_ERROR Учетная запись службы не авторизована для репозитория.
SERVER_ERROR Ошибка сервера репозитория.
QUOTA_EXCEEDED Квота превышена.
SERVICE_UNAVAILABLE Сервер временно недоступен.
CLIENT_ERROR Ошибка, связанная с клиентом, например недопустимый запрос от соединителя к серверу репозитория.

Item.ItemType

Перечисления
UNSPECIFIED
CONTENT_ITEM Элемент, индексируемый с единственной целью предоставления информации. На эти элементы нельзя ссылаться в containerName или inheritAclFrom .
CONTAINER_ITEM Элемент, который индексируется и целью которого является предоставление другим элементам списков ACL и/или содержание других элементов.
VIRTUAL_CONTAINER_ITEM Элемент, который не индексируется, но в остальном имеет ту же цель, что и CONTAINER_ITEM.

Методы

delete

Удаляет Item resource для указанного имени ресурса.

deleteQueueItems

Удаляет все элементы в очереди.

get

Получает Item resource по имени элемента.

index

Обновляет Item доступом к элементам, метаданные и содержимое.

list

Перечисляет все или часть Item resources .

poll

Опрашивает незарезервированные элементы из очереди индексирования и помечает набор как зарезервированный, начиная с элементов, имеющих самую старую временную метку из ItemStatus с наивысшим приоритетом.

push

Помещает элемент в очередь для последующего опроса и обновления.

unreserve

Отменяет резервирование всех элементов из очереди, делая их доступными для опроса.

upload

Создает сеанс загрузки для загрузки содержимого элемента.