本指南提供範例,說明如何使用 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")。
您可以使用 AND、OR 和 NOT (或 -) 邏輯運算子合併運算式。請注意,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 資源清單。