- 资源:Item
- ItemAcl
- ItemAcl.AclInheritanceType
- 主账号
- ItemMetadata
- 互动
- Interaction.InteractionType
- SearchQualityMetadata
- ContextAttribute
- ItemStructuredData
- StructuredDataObject
- NamedProperty
- NamedProperty.IntegerValues
- NamedProperty.DoubleValues
- NamedProperty.TimestampValues
- NamedProperty.ObjectValues
- NamedProperty.EnumValues
- NamedProperty.DateValues
- NamedProperty.TextValues
- NamedProperty.HtmlValues
- ItemContent
- ItemContent.ContentFormat
- UploadItemRef
- ItemStatus
- ProcessingError
- ProcessingErrorCode
- FieldViolation
- RepositoryError
- RepositoryError.Type
- Item.ItemType
- 方法
资源:Item
表示搜索索引中的项(例如文件、文件夹或数据库记录)的单个对象。
JSON 表示法 |
---|
{ "name": string, "acl": { object ( |
字段 | |
---|---|
name |
商品的名称。格式:datasources/{sourceId}/items/{itemId} 这是必填字段。长度上限为 1536 个字符。 |
acl |
此项的访问控制列表。 |
metadata |
元数据信息。 |
structuredData |
商品的结构化数据,应符合数据源架构中已注册的对象定义。 |
content |
要编入索引并使其可通过文本进行搜索的项内容。 |
version |
必需。索引系统会将数据源中的版本存储为字节字符串,并使用词序排序将索引中的商品版本与队列中的商品版本进行比较。 Cloud Search 索引编制功能不会为版本值小于或等于当前已编入索引的项的任何队列项编制索引,也不会删除这些项。此字段的最大长度为 1024 字节。 如需了解商品版本如何影响删除流程,请参阅手动删除后处理修订版本。 使用 base64 编码的字符串。 |
status |
商品的状态。仅限输出字段。 |
queue |
此项所属的队列。长度上限为 100 个字符。 |
payload |
其他状态连接器可以为此项存储状态。长度上限为 10000 个字节。 使用 base64 编码的字符串。 |
itemType |
此项的类型。 |
ItemAcl
相应项的访问控制列表信息。如需了解详情,请参阅映射 ACL。
JSON 表示法 |
---|
{ "inheritAclFrom": string, "aclInheritanceType": enum ( |
字段 | |
---|---|
inheritAclFrom |
要从中继承访问权限列表 (ACL) 的项的名称。注意:ACL 继承仅提供对子项的访问权限,不会定义结构关系,也不会提供方便删除大量项的方法。从索引中删除 ACL 父项只会更改在 |
aclInheritanceType |
设置在项从父项继承 ACL 时要应用的访问权限规则的类型。此字段应始终与 |
readers[] |
允许在搜索结果中查看相应内容的主账号列表。如果从其他项继承权限,或者项不应显示(例如 |
deniedReaders[] |
明确被拒绝访问搜索结果中相应项的主账号列表。虽然主账号默认被拒绝访问,但您可以使用被拒绝的读取器来处理异常并替换允许的读取器列表。元素数量上限为 100。 |
owners[] |
可选。相应项的所有者列表。此字段与文档访问权限无关。不过,系统会为查询用户是所有者的项提供略微的排名提升。元素数量上限为 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 |
字段 | |
---|---|
联合字段
|
|
gsuitePrincipal |
此主账号是 Google Workspace 用户、群组或网域。 |
userResourceName |
此正文是使用外部身份标识的用户。name 字段必须采用以下格式指定用户资源名称:identitysources/{sourceId}/users/{ID} |
groupResourceName |
此正文是使用外部身份标识的群组。name 字段必须采用以下格式指定群组资源名称:identitysources/{sourceId}/groups/{ID} |
ItemMetadata
相应项的可用元数据字段。
JSON 表示法 |
---|
{ "title": string, "sourceRepositoryUrl": string, "containerName": string, "objectType": string, "createTime": string, "updateTime": string, "interactions": [ { object ( |
字段 | |
---|---|
title |
商品的标题。如果指定,则此字段将是 query.search 结果的显示标题。长度上限为 2048 个字符。 |
sourceRepositoryUrl |
指向提供数据的源代码库的链接。搜索结果会将此链接应用于相应影视内容。空格或特殊字符可能会导致 Cloud Search 搜索结果链接触发重定向通知;为避免此类问题,请对网址进行编码。长度上限为 2048 个字符。 |
containerName |
此项的容器名称。删除容器项会导致系统自动删除此项。注意:ACL 不会从容器项继承。如需为项提供 ACL 继承,请使用 |
objectType |
项目的类型。这应与为数据源注册的架构中对象定义的名称相对应。例如,如果数据源的架构包含名称为“document”的对象定义,则针对该类型对象的项索引编制请求应将 objectType 设置为“document”。长度上限为 256 个字符。 |
createTime |
在源代码库中创建内容的时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
updateTime |
内容在源代码库中的上次修改时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
interactions[] |
商品的互动列表。互动数据用于提高 query.search 质量,但不会向最终用户显示。元素数量上限为 1000。 |
contentLanguage |
商品的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。最大长度为 32 个字符。 |
mimeType |
源代码库中 |
searchQualityMetadata |
商品的其他搜索质量元数据 |
keywords[] |
与商品相符的其他关键字或词组。供内部使用,用于用户生成的内容。元素数量上限为 100。最大长度为 8192 个字符。 |
hash |
API 调用方提供的哈希值。此方法可与 |
contextAttributes[] |
与项关联的一组命名属性。这可用于根据请求中的上下文影响商品的排名。元素数量上限为 10。 |
互动
表示用户与商品之间的互动。
JSON 表示法 |
---|
{ "type": enum ( |
字段 | |
---|---|
type |
|
principal |
对相应项执行操作的用户。 |
interactionTime |
用户对相应项执行操作的时间。如果单个用户存在多项相同类型的操作,系统只会记录最近一次的操作。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
Interaction.InteractionType
用户对相应项执行的活动类型。
枚举 | |
---|---|
UNSPECIFIED |
值无效。 |
VIEW |
此互动表示用户查看了相应项。 |
EDIT |
此互动表示用户修改了相应项。 |
SearchQualityMetadata
商品的其他搜索质量元数据。
JSON 表示法 |
---|
{ "quality": number } |
字段 | |
---|---|
quality |
用于衡量商品质量的指标,用于影响搜索质量。值应介于 0.0(最低质量)和 1.0(最高质量)之间。默认值为 0.0。 |
ContextAttribute
与项关联的命名属性,可用于根据请求中的上下文影响项的排名。
JSON 表示法 |
---|
{ "name": string, "values": [ string ] } |
字段 | |
---|---|
name |
属性的名称。该值不得为空。最大长度为 32 个字符。名称必须以字母开头,并且只能包含字母(A-Z、a-z)或数字(0-9)。系统会先对名称进行规范化(转换为小写),然后再进行匹配。 |
values[] |
属性的文本值。元素数量上限为 10。数组中元素的长度上限为 32 个字符。该值会先归一化(转换为小写),然后再进行匹配。 |
ItemStructuredData
相应项的可用结构化数据字段。
JSON 表示法 |
---|
{
"object": {
object ( |
字段 | |
---|---|
object |
结构化数据对象,应符合数据源架构中已注册的对象定义。 |
hash |
API 调用方提供的哈希值。此方法可与 |
StructuredDataObject
由命名属性组成的结构化数据对象。
JSON 表示法 |
---|
{
"properties": [
{
object ( |
字段 | |
---|---|
properties[] |
对象的属性。元素数量上限为 1000。 |
NamedProperty
结构化数据的类型化名称值对。值的类型应与 objectType
的对象定义中 name
属性的注册类型相同。
JSON 表示法 |
---|
{ "name": string, // Union field |
字段 | |
---|---|
name |
房源的名称。此名称应与架构中为对象定义注册的属性的名称相对应。此属性的允许长度上限为 256 个字符。 |
联合字段 value 。命名属性的值。请注意,一个属性只能包含一种类型的值。value 只能是下列其中一项: |
|
integerValues |
|
doubleValues |
|
timestampValues |
|
booleanValue |
|
objectValues |
|
enumValues |
|
dateValues |
|
textValues |
|
htmlValues |
|
NamedProperty.IntegerValues
整数值列表。
JSON 表示法 |
---|
{ "values": [ string ] } |
字段 | |
---|---|
values[] |
|
NamedProperty.DoubleValues
双精度值列表。
JSON 表示法 |
---|
{ "values": [ number ] } |
字段 | |
---|---|
values[] |
|
NamedProperty.TimestampValues
时间戳值列表。
JSON 表示法 |
---|
{ "values": [ string ] } |
字段 | |
---|---|
values[] |
时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
NamedProperty.ObjectValues
对象值的列表。
JSON 表示法 |
---|
{
"values": [
{
object ( |
字段 | |
---|---|
values[] |
|
NamedProperty.EnumValues
枚举值列表。
JSON 表示法 |
---|
{ "values": [ string ] } |
字段 | |
---|---|
values[] |
字符串值的允许最大长度为 32 个字符。 |
NamedProperty.DateValues
日期值列表。
JSON 表示法 |
---|
{
"values": [
{
object ( |
字段 | |
---|---|
values[] |
|
NamedProperty.TextValues
文本值列表。
JSON 表示法 |
---|
{ "values": [ string ] } |
字段 | |
---|---|
values[] |
文本值的允许最大长度为 2048 个字符。 |
NamedProperty.HtmlValues
html 值列表。
JSON 表示法 |
---|
{ "values": [ string ] } |
字段 | |
---|---|
values[] |
html 值的允许长度上限为 2048 个字符。 |
ItemContent
要由 Cloud Search 编入索引并显示的项的内容。仅允许使用 UTF-8 编码的字符串作为 inlineContent
。如果上传的内容不是二进制内容,则必须采用 UTF-8 编码。
JSON 表示法 |
---|
{ "contentFormat": enum ( |
字段 | |
---|---|
contentFormat |
|
hash |
API 客户端为内容计算并提供的哈希信息。可与 items.push 方法搭配使用,以计算修改后的状态。长度上限为 2048 个字符。 |
联合字段
|
|
inlineContent |
在更新方法中内嵌提供的内容。长度上限为 102400 字节(100 KiB)。 使用 base64 编码的字符串。 |
contentDataRef |
通过写入方法上传之前上传内容的参考 ID。 |
ItemContent.ContentFormat
内容的格式。如果格式为 RAW,则内容应采用 mimeType
指定的格式。
枚举 | |
---|---|
UNSPECIFIED |
值无效。 |
HTML |
contentFormat 为 HTML。 |
TEXT |
contentFormat 是自由文本。 |
RAW |
contentFormat 为原始字节。 |
UploadItemRef
表示上传会话引用。此引用是通过 upload method
创建的。此参考文档在创建后的 30 天内有效。更新商品内容时,可能会通过 contentDataRef
引用此上传内容。
JSON 表示法 |
---|
{ "name": string } |
字段 | |
---|---|
name |
内容引用的名称。长度上限为 2048 个字符。 |
ItemStatus
其中包含商品的状态和任何错误。
JSON 表示法 |
---|
{ "code": enum ( |
字段 | |
---|---|
code |
状态代码。 |
processingErrors[] |
如果商品处于 ERROR 状态,则显示错误详情。 |
repositoryErrors[] |
连接器报告的代码库错误。 |
ProcessingError
JSON 表示法 |
---|
{ "code": enum ( |
字段 | |
---|---|
code |
指示错误性质的错误代码。 |
errorMessage |
错误的说明。 |
fieldViolations[] |
如果商品字段无效,此字段会包含有关验证错误的详细信息。 |
ProcessingErrorCode
用于指示 Cloud Search 服务器在处理项期间遇到的错误的代码。单个项可能包含多个处理错误。
枚举 | |
---|---|
PROCESSING_ERROR_CODE_UNSPECIFIED |
仅输入值。在“Items”中使用此值。 |
MALFORMED_REQUEST |
内容的 ACL、元数据或内容格式有误或处于无效状态。FieldViolations 包含有关问题所在位置的更多详细信息。 |
UNSUPPORTED_CONTENT_FORMAT |
内容格式不受支持。 |
INDIRECT_BROKEN_ACL |
由于继承了 ACL 损坏的其他项或包含具有未映射后代的组,而导致 ACL 信息不完整的项。 |
ACL_CYCLE |
ACL 继承图形成了循环。 |
FieldViolation
JSON 表示法 |
---|
{ "field": string, "description": string } |
字段 | |
---|---|
field |
存在违规问题的字段的路径。 |
description |
错误的说明。 |
RepositoryError
连接器与源代码库通信时出错。
JSON 表示法 |
---|
{
"type": enum ( |
字段 | |
---|---|
type |
错误类型。 |
httpStatusCode |
错误代码。与 HTTP 状态代码的定义相符。 |
errorMessage |
用于描述错误的消息。消息的允许长度上限为 8192 个字符。 |
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 具有相同的用途。 |
方法 |
|
---|---|
|
删除指定资源名称的 Item resource 。 |
|
删除队列中的所有内容。 |
|
按项名称获取 Item resource 。 |
|
更新 Item ACL、元数据和内容。 |
|
列出所有或部分 Item resources 。 |
|
从编入索引队列中轮询未预订的项,并将一组项标记为已预订,从优先级最高且时间戳最早的项 ItemStatus 开始。 |
|
将项推送到队列中,以便日后进行轮询和更新。 |
|
取消预订队列中的所有项,使其都符合轮询条件。 |
|
创建用于上传商品内容的上传会话。 |