搜尋及擷取文件

本指南提供範例,說明如何使用 Developer Knowledge API 的函式:搜尋文件、擷取單一文件,以及批次擷取多個文件。

開始前,請先啟用 API 並產生 Developer Knowledge API 金鑰,然後將金鑰儲存至環境變數:

export DEVELOPERKNOWLEDGE_API_KEY="YOUR_API_KEY"

使用「SearchDocumentChunks」搜尋文件

使用 documents.searchDocumentChunks 方法,找出與查詢字串相符的文件區塊。結果會包含文件中的內容區塊,以及可用於擷取完整文件內容的parent參照。

以下範例會搜尋符合「BigQuery」的文件:

curl "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks?query=BigQuery&key=$DEVELOPERKNOWLEDGE_API_KEY"

您可以使用 pageSize 等參數來調整搜尋結果,限制每頁的結果數量,並使用 pageToken 擷取後續頁面。

篩選搜尋結果

使用 filter 參數對搜尋結果套用嚴格篩選條件。篩選條件會套用至與搜尋結果區塊相關聯的文件中繼資料。

支援篩選的欄位:

  • data_source (STRING):文件的來源,例如 docs.cloud.google.com
  • update_time (TIMESTAMP):文件上次更新的時間戳記。
  • uri (STRING):文件 URI,例如 https://docs.cloud.google.com/bigquery/docs/tables

支援的運算子:

  • STRING 欄位支援 = (等於) 和 != (不等於),可針對整個字串進行完全相符比對。
  • TIMESTAMP 欄位支援 =<<=>>=。時間戳記必須採用 RFC-3339 格式 (例如 "2025-01-01T00:00:00Z")。

您可以使用 ANDORNOT (或 -) 邏輯運算子合併運算式。請注意,OR 的優先順序高於 AND

以下範例會搜尋符合「BigQuery」的文件,並將結果限制為來自 docs.cloud.google.com 的文件:

curl "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks?query=BigQuery&filter=data_source%3D%22docs.cloud.google.com%22&key=$DEVELOPERKNOWLEDGE_API_KEY"

使用 GetDocument 擷取文件

使用 documents.get 方法擷取單一文件的完整內容。

以下範例會擷取名為 documents/DOCUMENT_ID 的文件:

curl "https://developerknowledge.googleapis.com/v1/documents:get?name=documents/DOCUMENT_ID&key=$DEVELOPERKNOWLEDGE_API_KEY"

回應是完整的 Document 資源,包括 content 欄位。

使用 BatchGetDocuments 擷取多份文件

使用 documents.batchGet 方法,單次 API 呼叫最多可依名稱擷取 100 份文件。這比發出多個 GetDocument 要求更有效率。

以下範例會依名稱擷取兩個文件:

curl "https://developerknowledge.googleapis.com/v1/documents:batchGet?names=documents/DOCUMENT_ID_1&names=documents/DOCUMENT_ID_2&key=$DEVELOPERKNOWLEDGE_API_KEY"

回應會包含要求的 Document 資源清單。