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

アイテムの名前。形式: datasources/{sourceId}/items/{itemId}

これは必須項目です。最大文字数は 1,536 文字です。

acl

object (ItemAcl)

このアイテムのアクセス制御リスト。

metadata

object (ItemMetadata)

メタデータ情報。

structuredData

object (ItemStructuredData)

データソースのスキーマに登録されているオブジェクト定義に適合するアイテムの構造化データ。

content

object (ItemContent)

インデックスに登録され、テキストを検索可能にするアイテムのコンテンツ。

version

string (bytes format)

必須。インデックス登録システムは、データソースのバージョンをバイト文字列として格納し、インデックス内のアイテムのバージョンと、キューに追加されたアイテムのバージョンを字句順で比較します。

Cloud Search インデックスでは、現在インデックス登録されているアイテムのバージョン値以下のバージョン値を持つキューに追加されたアイテムが、インデックス登録も削除もされません。このフィールドの最大長は 1,024 バイトです。

アイテムのバージョンが削除プロセスに与える影響については、手動削除後のリビジョンを処理するをご覧ください。

Base64 でエンコードされた文字列。

status

object (ItemStatus)

商品アイテムのステータス。出力専用フィールド。

queue

string

このアイテムが属するキュー。最大で 100 文字です。

payload

string (bytes format)

このアイテム用に追加の状態コネクタを保存できます。最大長は 10,000 バイトです。

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 フィールドを介してそのコンテナを参照しているアイテムもすべて削除されます。このフィールドの最大長は 1,536 文字です。

aclInheritanceType

enum (ItemAcl.AclInheritanceType)

アイテムが親から ACL を継承する場合に適用するアクセスルールのタイプを設定します。常に inheritAclFrom フィールドと同時に設定する必要があります。また、inheritAclFrom フィールドが設定されている場合、このフィールドは有効な AclInheritanceType に設定する必要があります。

readers[]

object (Principal)

検索結果でアイテムを表示することを許可されているプリンシパルのリスト。別のアイテムから権限を継承する場合や、virtual containers などのアイテムを表示する予定がない場合は省略可能です。要素の最大数は 1,000 です。

deniedReaders[]

object (Principal)

検索結果でアイテムへのアクセスを明示的に拒否されたプリンシパルのリスト。プリンシパルはデフォルトでアクセスを拒否されますが、拒否されたリーダーを使用して例外を処理し、許可されたリーダーのリストをオーバーライドします。要素の最大数は 100 です。

owners[]

object (Principal)

(省略可)アイテムのオーナーのリストです。このフィールドは、ドキュメントのアクセス権限には影響しません。ただし、クエリを行ったユーザーがオーナーであるアイテムでは、ランキングが若干高くなります。要素の最大数は 5 個です。

ItemAcl.AclInheritanceType

ACL の継承のタイプ。

列挙型
NOT_APPLICABLE このアイテムが ACL を継承しない場合のデフォルト値。inheritAclFrom が空の場合は NOT_APPLICABLE を使用します。ACL の継承がないアイテムでも、そのアイテムの readers フィールドと deniedReaders フィールドから ACL を指定できます。
CHILD_OVERRIDE 認証が競合する場合、子アイテムの ACL によって読み取りアクセス権が決まります。
PARENT_OVERRIDE 認証の競合中は、inheritAclFrom フィールドで指定された親アイテムの ACL によって読み取りアクセスが決まります。
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

このプリンシパルは外部 ID を使用して識別されるユーザーです。name フィールドには、ユーザー リソース名を identitysources/{sourceId}/users/{ID} の形式で指定する必要があります。

groupResourceName

string

このプリンシパルは、外部 ID を使用して識別されるグループです。name フィールドには、グループ リソース名を identitysources/{sourceId}/groups/{ID} の形式で指定する必要があります。

ItemMetadata

アイテムで使用可能なメタデータ フィールド。

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

商品アイテムのタイトル。指定すると、query.search の結果に表示されるタイトルになります。最大文字数は 2,048 文字です。

sourceRepositoryUrl

string

データを提供しているソース リポジトリへのリンク。検索結果を表示すると、このリンクがタイトルに適用されます。空白や特殊文字が含まれていると、Cloud Seach の結果のリンクでリダイレクト通知がトリガーされることがあります。これを避けるには、URL をエンコードしてください。最大文字数は 2,048 文字です。

containerName

string

この商品アイテムのコンテナの名前。コンテナ アイテムを削除すると、このアイテムは自動的に削除されます。注: ACL はコンテナ アイテムから継承されません。アイテムの ACL 継承を提供するには、inheritAclFrom フィールドを使用します。最大文字数は 1,536 文字です。

objectType

string

商品アイテムのタイプ。これは、データソースに登録されているスキーマのオブジェクト定義の名前に対応している必要があります。たとえば、データソースのスキーマに「document」という名前のオブジェクト定義が含まれている場合、そのタイプのオブジェクトに対するアイテムのインデックス登録リクエストでは、objectType を「document」に設定する必要があります。最大文字数は 256 文字です。

createTime

string (Timestamp format)

ソース リポジトリでアイテムが作成された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

ソース リポジトリでアイテムが最後に変更された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

interactions[]

object (Interaction)

アイテムのインタラクションのリスト。インタラクションは query.search の品質を高めるために使用されますが、エンドユーザーには公開されません。要素の最大数は 1,000 です。

contentLanguage

string

商品アイテムの BCP-47 言語コード(「en-US」や「sr-Latn」など)。詳しくは、http://www.unicode.org/reports/tr35/#Unicode_locale_identifier を参照してください。最大 32 文字までです。

mimeType

string

ソース リポジトリ内の ItemContent.content の元の MIME タイプ。最大文字数は 256 文字です。

searchQualityMetadata

object (SearchQualityMetadata)

商品アイテムの追加の検索品質メタデータ

keywords[]

string

商品アイテムと一致する追加のキーワードやフレーズ。ユーザー作成コンテンツのために内部的に使用されます。要素の最大数は 100 です。最大文字数は 8,192 文字です。

hash

string

API 呼び出し元が提供するハッシュ値。これは、items.push メソッドとともに使用して、変更された状態を計算できます。最大文字数は 2,048 文字です。

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)

ユーザーがアイテムを操作した時刻。1 人のユーザーに同じタイプのアクションが複数存在する場合は、最新のアクションのみが記録されます。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

Interaction.InteractionType

ユーザーがアイテムに対して行ったアクティビティのタイプ。

列挙型
UNSPECIFIED 値が無効です。
VIEW このインタラクションはユーザーがアイテムを閲覧したことを示します。
EDIT このインタラクションは、ユーザーがアイテムを編集したことを示します。

SearchQualityMetadata

アイテムの検索品質に関する追加のメタデータ。

JSON 表現
{
  "quality": number
}
フィールド
quality

number

アイテムの品質を示すもので、検索の品質に影響します。値は 0.0(最低品質)~ 1.0(最高品質)の間で指定してください。デフォルト値は 0.0 です。

ContextAttribute

アイテムに関連付けられた名前付き属性。リクエストのコンテキストに基づいてアイテムのランキングに影響を与えることができます。

JSON 表現
{
  "name": string,
  "values": [
    string
  ]
}
フィールド
name

string

属性の名前。空にすることはできません。最大文字数は 32 文字です。名前は、先頭を英字にする必要があり、英字(A ~ Z、a ~ z)または数字(0 ~ 9)のみを使用できます。照合される名前は正規化(小文字)されます。

values[]

string

属性のテキスト値。要素の最大数は 10 です。配列内の要素の最大長は 32 文字です。この値は照合される前に正規化(小文字)されます。

ItemStructuredData

アイテムで使用可能な構造化データ フィールド。

JSON 表現
{
  "object": {
    object (StructuredDataObject)
  },
  "hash": string
}
フィールド
object

object (StructuredDataObject)

データソースのスキーマに登録されたオブジェクト定義に適合する構造化データ オブジェクト。

hash

string

API 呼び出し元が提供するハッシュ値。これは、items.push メソッドとともに使用して、変更された状態を計算できます。最大文字数は 2,048 文字です。

StructuredDataObject

名前付きプロパティで構成される構造化データ オブジェクト。

JSON 表現
{
  "properties": [
    {
      object (NamedProperty)
    }
  ]
}
フィールド
properties[]

object (NamedProperty)

オブジェクトのプロパティ。要素の最大数は 1,000 です。

NamedProperty

構造化データ用の型付き名前と値のペア。値の型は、objectType のオブジェクト定義内の name プロパティの登録済みの型と同じである必要があります。

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。指定されたプロパティの値。1 つのプロパティに保持できる値は 1 型のだけです。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

double 値のリスト。

JSON 表現
{
  "values": [
    number
  ]
}
フィールド
values[]

number

NamedProperty.TimestampValues

タイムスタンプ値のリスト。

JSON 表現
{
  "values": [
    string
  ]
}
フィールド
values[]

string (Timestamp format)

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "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

テキスト値に指定できる最大文字数は 2,048 文字です。

NamedProperty.HtmlValues

HTML 値のリストです。

JSON 表現
{
  "values": [
    string
  ]
}
フィールド
values[]

string

HTML 値に指定できる最大文字数は 2,048 文字です。

ItemContent

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 メソッドと併用して、変更された状態を計算できます。最大文字数は 2,048 文字です。

共用体フィールド content

content は次のいずれかになります。

inlineContent

string (bytes format)

update メソッド内でインラインで提供されるコンテンツ。最大長は 102,400 バイト(100 KiB)です。

Base64 でエンコードされた文字列。

contentDataRef

object (UploadItemRef)

以前にアップロードしたコンテンツの参照 ID を write メソッドでアップロードします。

ItemContent.ContentFormat

コンテンツの形式。形式が RAW の場合、コンテンツは mimeType で指定された形式でなければなりません。

列挙型
UNSPECIFIED 値が無効です。
HTML contentFormat は HTML です。
TEXT contentFormat は自由形式のテキストです。
RAW contentFormat は RAW バイトです。

UploadItemRef

アップロード セッション参照を表します。この参照は upload method を介して作成されます。この参照は、作成後 30 日間有効です。contentDataRef を介して、アイテムのコンテンツを更新すると、このアップロードされたコンテンツが参照される場合があります。

JSON 表現
{
  "name": string
}
フィールド
name

string

コンテンツ参照の名前。最大文字数は 2,048 文字です。

ItemStatus

アイテムのステータスとエラーが含まれます。

JSON 表現
{
  "code": enum (ItemStatus.Code),
  "processingErrors": [
    {
      object (ProcessingError)
    }
  ],
  "repositoryErrors": [
    {
      object (RepositoryError)
    }
  ]
}
フィールド
code

enum (ItemStatus.Code)

ステータス コード。

processingErrors[]

object (ProcessingError)

アイテムが ERROR 状態の場合のエラーの詳細。

repositoryErrors[]

object (RepositoryError)

コネクタから報告されたリポジトリ エラー。

ProcessingError

JSON 表現
{
  "code": enum (ProcessingErrorCode),
  "errorMessage": string,
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
フィールド
code

enum (ProcessingErrorCode)

エラーの内容を示すエラーコード。

errorMessage

string

エラーの説明。

fieldViolations[]

object (FieldViolation)

アイテム フィールドが無効の場合、このフィールドには検証エラーの詳細が含まれます。

ProcessingErrorCode

Cloud Search サーバーによるアイテムの処理中に発生したエラーを示すコード。1 つのアイテムに複数の処理エラーが含まれることがあります。

列挙型
PROCESSING_ERROR_CODE_UNSPECIFIED 値のみを入力してください。この値は [Items] で使用します。
MALFORMED_REQUEST アイテムの ACL、メタデータ、またはコンテンツの形式が正しくないか、無効な状態です。問題のある箇所の詳細については、FieldTransparencys をご覧ください。
UNSUPPORTED_CONTENT_FORMAT カウント形式はサポートされていません。
INDIRECT_BROKEN_ACL ACL が破損している他のアイテムを継承しているか、マッピングされていない子孫を持つグループが存在することが原因で、ACL 情報が不完全なアイテム。
ACL_CYCLE ACL 継承グラフは循環型になっています。

FieldViolation

JSON 表現
{
  "field": string,
  "description": string
}
フィールド
field

string

違反のあるフィールドのパス。

description

string

エラーの説明。

RepositoryError

コネクタがソース リポジトリと通信しているときのエラー。

JSON 表現
{
  "type": enum (RepositoryError.Type),
  "httpStatusCode": integer,
  "errorMessage": string
}
フィールド
type

enum (RepositoryError.Type)

エラーのタイプ。

httpStatusCode

integer

エラーコード。HTTP ステータス コードの定義と一致します。

errorMessage

string

エラーを説明するメッセージ。メッセージの最大長は 8,192 文字です。

RepositoryError.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 と同じ目的を持つアイテム。

Methods

delete

指定されたリソース名の Item resource を削除します。

deleteQueueItems

キュー内のすべてのアイテムを削除します。

get

アイテム名で Item resource を取得します。

index

Item の ACL、メタデータ、コンテンツを更新します。

list

Item resources のすべてまたは一部を一覧表示します。

poll

インデックス登録キューから予約されていないアイテムを調べて、優先度が最も高い ItemStatus の最も古いタイムスタンプを持つアイテムから順に、セットを予約済みとしてマークします。

push

後でポーリングして更新できるように、アイテムをキューに push します。

unreserve

キューのすべてのアイテムの予約を解除し、すべてのアイテムをポーリングの対象にします。

upload

アイテムのコンテンツをアップロードするためのアップロード セッションを作成します。