本指南提供了有关如何使用 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。
支持的运算符:
- 对于字符串字段,
=(等于)和!=(不等于)支持对整个字符串进行完全匹配。 - 时间戳字段支持
=、<、<=、>和>=。时间戳必须采用 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 资源列表。