搜索和过滤 API

本页面适用于 ApigeeApigee Hybrid

本主题介绍如何使用 Vertex AI 提供支持的语义搜索和基于过滤条件的搜索选项来搜索 API Hub 中的特定资源。

搜索和过滤。
图 1. API Hub 提供强大的自然语言搜索和过滤功能。

您可以使用语义搜索轻松查找和查看 API Hub 中注册的 API 资源。借助语义搜索,您可以使用自由文本搜索查询来搜索实例中的所有可用 API 资源。您可以搜索所有实体类型(API、API 操作、规范等),也可以指定要查询的实体类型。

借助 Vertex AI 搜索引擎,语义搜索能做到的不止“匹配”字词这么简单。语义搜索返回的结果是 API 资源条目的列表,这些资源条目的详细内容中包含了在语义上与输入的自由文本搜索查询类似的字词。

自由文本搜索会返回以下类别的结果:

  • API:与搜索内容匹配的 API 列表。对于每个 API,系统会提供以下详细信息:
    • API 的名称,以及指向 API 详情页面的链接。
    • 资源的简要说明。
    • 资源所有者的姓名和电子邮件地址。
  • 版本:与搜索内容匹配的 API 版本列表。对于每个版本,系统会提供以下详细信息:
    • 与版本关联的 API 的名称,以及指向 API 详情页面的链接。
    • API 版本的名称,以及指向版本详情页面的链接。
    • 版本说明和相关元数据。
  • 说明:与搜索内容匹配的 API 规范列表。对于每个规范,系统会提供以下详细信息:
    • 与规范关联的 API 的名称,以及指向 API 详情页面的链接。
    • API 规范的名称,以及指向与规范关联的版本详情页面的链接。
    • 规范的说明。
    • 指向规范文档的链接。
    • 规范的类型,例如 OpenAPI 规范。
  • 操作:与搜索内容匹配的 API 操作列表。对于每个操作,系统会提供以下详细信息:
    • 与操作关联的 API 的名称,以及指向 API 详情页面的链接。
    • 操作的名称,以及指向与操作关联的版本详情页面的链接。
    • 规范的说明。
    • 指向定义操作的规范文档的链接。
    • 指向包含操作的版本的链接。
  • 部署:与搜索内容匹配的部署列表。对于每个部署,系统会提供以下详细信息:
    • 部署的名称。
    • 部署的说明。
    • 部署类型。例如,Apigee Hybrid。
    • 指向包含部署的版本的链接。

要搜索包含特定字词的 API,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 API Hub 语义搜索页面。

    转到 API Hub

  2. 在搜索框中输入搜索查询。

    例如,您可以输入“订单管理 API”或“无线运营商设置的规范文件”。

    您可以使用搜索查询提示中的系统属性来优化搜索。如果您在 API Hub 中注册 API 时创建了用户属性,也可以在搜索查询提示中包含这些属性。

  3. 搜索结果会分类在以下标签页下:API、版本、规范、操作和部署。点击其中一个标签页即可查看某个类别的结果。结果会显示包含在语义上与您输入的搜索查询相似的字词的 API 资源。
  4. 点击 API 资源名称以查看该资源的详细信息页面。
  5. 如需清除当前查询,请点击清除结果

您还可以使用 API Hub API 搜索 API Hub 资源。借助 searchResources 方法,您可以使用自由文本查询和过滤条件来查询 API Hub 资源。

您可以使用以下 API 调用在 API Hub 资源中进行搜索:

curl -X POST https://apihub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:searchResources \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" \
  -d '{
    "query":"QUERY",
    "filter":"resource_type = RESOURCE_TYPE"
   }'

其中:

  • PROJECT_ID 是 API Hub 实例的宿主项目 ID。
  • LOCATION 是托管 API Hub 实例的位置。
  • QUERY 是要在搜索中使用的自由文本查询。查询可以包含与 API Hub 资源的任何详细信息(包括显示名称、说明或其他元数据)相关的关键字。
  • RESOURCE_TYPE 是为搜索指定的可选过滤条件。您可以将以下 API Hub 资源类型之一指定为过滤条件:
    • Api
    • ApiOperation
    • Deployment
    • Definition
    • Spec
    • Version

例如:

curl -X POST https://apihub.googleapis.com/v1/projects/{project-id}/locations/{location}:searchResources \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" \
  -d '{
    "query":"dog status in the store",
    "filter":"resource_type = SPEC"
    }'

此调用会返回 API Hub 资源的分页列表,其中包含资源专属的元数据。

如需详细了解如何使用 API Hub API 进行自由文本搜索,请参阅 Method:project.locations.searchResources 的 API 参考文档。

基于过滤条件的搜索选项

您可以将系统属性用作搜索参数,以优化 API 页面上显示的 API 列表。 使用以下选项之一来自定义显示的 API 资源列表:

过滤

使用基于过滤条件的列表搜索,您可以根据一系列与资源关联的预定义参数和系统属性来精简 API 列表。您可以使用 Match ALLMatch ANY 选项来自定义过滤视图。

如需指定过滤条件选项,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 API Hub API 页面。

    转到 API Hub API

  2. 点击过滤表字段以过滤表。此时会打开过滤条件窗格。
  3. 指定或选择过滤条件选项。当您在过滤条件窗格中输入内容时,系统会弹出一个包含过滤条件选项的菜单,其中包含与当前上下文相关的系统属性列表。例如,在 API 页面中过滤 API 时,您可能会看到以下系统属性:
    • API 名称:API 的显示名称
    • 业务部门:负责 API 的业务部门
    • 团队:负责 API 的制作团队
    • 文档:API 文档的短链接。
    • 您会在 API版本规范表的过滤条件列表中看到系统属性。

  4. 选择过滤条件选项后,从列表中选择过滤条件值。或者,您也可以为选择的过滤条件属性输入值。
  5. 如需添加其他过滤条件,请点击过滤表字段,从可用的运算符中进行选择,然后选择其他过滤条件属性和值。
  6. 所选过滤条件属性会显示过滤条件查询使用的条件逻辑。您可以选择 OR 作为运算符。如果未选择任何运算符,则默认为 AND

  7. 如需清除单个过滤条件,请点击过滤条件上的 X。 如需清除所有过滤条件,请点击过滤条件窗格中的全部清除

分页

如果有多个 API 资源,它们可能会显示在多个页面中。

如需自定义列表显示方式并在页面之间导航,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 API Hub API 页面。

    转到 API Hub API

    默认情况下,系统会显示 API 列表页面。

  2. API 列表中,找到分页工具,如图 2 所示:

    分页选择。
    图 2. 在分页结果中前后移动。
  3. 选择要在每页显示的 API 数量。
  4. 点击 > 前进以转到下一页。
  5. 点击 < 返回以转到上一页。

后续步骤