Method: documents.searchDocumentChunks

在 Google 的开发者文档中搜索开发者知识。根据用户查询返回 DocumentChunk。同一 Document 中可能包含多个块。如需检索完整文档,请使用 DeveloperKnowledge.GetDocumentDeveloperKnowledge.BatchGetDocuments 以及 SearchDocumentChunksResponse.results 中返回的 DocumentChunk.parent

HTTP 请求

GET https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks

网址采用 gRPC 转码语法。

查询参数

参数
query

string

必需。提供用户提供的原始查询字符串,例如“如何创建 Cloud Storage 存储分区?”。

pageSize

integer

可选。指定要返回的结果数上限。服务返回的值可能小于此值。

如果未指定,则最多返回 5 个结果。

最大值为 20;大于 20 的值将导致 INVALID_ARGUMENT 错误。

pageToken

string

可选。包含从之前的 documents.searchDocumentChunks 调用接收的页面令牌。利用其进行后续页面检索。

filter

string

可选。对搜索结果应用严格过滤条件。该表达式支持 https://google.aip.dev/160 中所述的部分语法。

虽然 documents.searchDocumentChunks 返回 DocumentChunk,但过滤条件会应用于 DocumentChunk.document 字段。

支持过滤的字段:

  • dataSource(字符串):文档来源,例如 docs.cloud.google.com。如需查看语料库中数据源的完整列表,请访问 https://developers.google.com/knowledge/reference/corpus-reference
  • updateTime (TIMESTAMP):文档上次有意义的更新时间的时间戳。有意义的更新是指会更改文档的 Markdown 内容或元数据的更新。
  • uri(STRING):文档 URI,例如 https://docs.cloud.google.com/bigquery/docs/tables

对于整个字符串,STRING 字段支持 =(等于)和 !=(不等于)运算符,以进行完全匹配。不支持部分匹配、前缀匹配和正则表达式匹配。

TIMESTAMP 字段支持 =<<=>>= 运算符。时间戳必须采用 RFC-3339 格式,例如 "2025-01-01T00:00:00Z"

您可以使用 ANDORNOT(或 -)逻辑运算符组合表达式。OR 的优先级高于 AND。使用括号明确指定优先级分组。

示例:

  • dataSource = "docs.cloud.google.com" OR dataSource = "firebase.google.com"
  • dataSource != "firebase.google.com"
  • updateTime < "2024-01-01T00:00:00Z"
  • updateTime >= "2025-01-22T00:00:00Z" AND (dataSource = "developer.chrome.com" OR dataSource = "web.dev")
  • uri = "https://docs.cloud.google.com/release-notes"

filter 字符串不得超过 500 个字符;如果值超过 500 个字符,系统会返回 INVALID_ARGUMENT 错误。

请求正文

请求正文必须为空。

响应正文

DeveloperKnowledge.SearchDocumentChunks 的响应消息。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "results": [
    {
      object (DocumentChunk)
    }
  ],
  "nextPageToken": string
}
字段
results[]

object (DocumentChunk)

包含给定查询的搜索结果。此列表中的每个 DocumentChunk 都包含与搜索查询相关的内容摘要。将每个结果的 DocumentChunk.parent 字段与 DeveloperKnowledge.GetDocumentDeveloperKnowledge.BatchGetDocuments 搭配使用,即可检索完整的文档内容。

nextPageToken

string

可选。提供可作为 pageToken 发送并用于检索下一页的令牌。如果省略此字段,则不存在后续页面。

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/devprofiles.full_control
  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 OAuth 2.0 Overview

DocumentChunk

DocumentChunk 表示 DeveloperKnowledge 语料库中 Document 的一部分内容。如需提取整个文档内容,请将 parent 传递给 DeveloperKnowledge.GetDocumentDeveloperKnowledge.BatchGetDocuments

JSON 表示法
{
  "parent": string,
  "id": string,
  "content": string,
  "document": {
    object (Document)
  }
}
字段
parent

string

仅限输出。包含相应块所来自的文档的资源名称。格式:documents/{uri_without_scheme} 示例:documents/docs.cloud.google.com/storage/docs/creating-buckets

id

string

仅限输出。指定相应块在文档中的 ID。块 ID 在文档中是唯一的,但在不同文档之间并不具有全局唯一性。块 ID 不稳定,可能会随时间而变化。

content

string

仅限输出。包含文档块的内容。

document

object (Document)

仅限输出。表示相应块所属 Document 的元数据。相应 Document 消息的 DocumentView 将设置为 DOCUMENT_VIEW_BASIC。此处包含该字段是为了方便起见,以便客户端在只需要元数据字段时无需调用 DeveloperKnowledge.GetDocumentDeveloperKnowledge.BatchGetDocuments。否则,客户端应使用 DeveloperKnowledge.GetDocumentDeveloperKnowledge.BatchGetDocuments 来提取完整文档内容。