Method: documents.searchDocumentChunks

在 Google 的開發人員說明文件中搜尋開發人員知識。根據使用者的查詢傳回 DocumentChunk。同一個 Document 可能會有多個區塊。如要擷取完整文件,請搭配 SearchDocumentChunksResponse.results 中傳回的 DocumentChunk.parent 使用 DeveloperKnowledge.GetDocumentDeveloperKnowledge.BatchGetDocuments

HTTP 要求

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

這個網址使用 gRPC 轉碼語法。

查詢參數

參數
query

string

必填。提供使用者提供的原始查詢字串,例如「如何建立 Cloud Storage bucket?」。

pageSize

integer

(選用步驟) 指定要傳回的結果數上限。服務傳回的產品數量可能會少於這個值。

如未指定,最多將傳回 5 個結果。

最大值為 20;超過 20 的值會導致 INVALID_ARGUMENT 錯誤。

pageToken

string

(選用步驟) 包含接收自前一個 documents.searchDocumentChunks 呼叫的網頁權杖。提供此項目即可擷取後續網頁。

filter

string

(選用步驟) 對搜尋結果套用嚴格篩選器。運算式支援 https://google.aip.dev/160 中說明的語法子集。

雖然 documents.searchDocumentChunks 會傳回 DocumentChunk,但篩選器會套用至 DocumentChunk.document 欄位。

支援篩選的欄位:

  • dataSource (STRING):文件來源,例如 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 個字元,否則會導致 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 擷取完整文件內容。