搜索和检索文档

本指南提供了有关如何使用 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 资源列表。