1.13. 搜索查询 API


搜索查询 API 不是 Kubernetes API,因此不会通过 Red Hat OpenShift Container Platform API Explorer 显示。继续阅读以了解搜索查询 API 功能。

deprecated API 的文档已弃用。使用控制台或 oc 命令中的 API Explorer 查看当前和支持的 API。

1.13.1. 概述

您可以使用路由公开搜索查询 API,并使用 API 解析搜索查询。API 是一个 GraphQL 端点。您可以使用任何客户端,如 curl 或 Postman。

1.13.1.1. 版本信息

版本 2.7

1.13.1.2. URI scheme

BasePath : /searchapi/graphql
Schemes : HTTPS

1.13.1.3. 配置 API 访问

使用以下命令,创建一个路由,从集群外部访问搜索 API:

oc create route passthrough search-api --service=search-search-api -n open-cluster-management
Copy to Clipboard Toggle word wrap

重要: 您必须配置路由来保护您的环境。有关更多详细信息,请参阅 OpenShift Container Platform 文档中的路由配置

1.13.2. 架构设计

input SearchFilter {
  property: String!
  values: [String]!
}
input SearchInput {
  keywords: [String]
  filters: [SearchFilter]
  limit: Int
  relatedKinds: [String]
}
type SearchResult {
count: Int
items: [Map]
related: [SearchRelatedResult]
}
type SearchRelatedResult {
kind: String!
count: Int
items: [Map]
}
Copy to Clipboard Toggle word wrap

参数带有 ! 表示需要该字段。

1.13.2.1. 查询输入的描述表

Expand
类型描述属性

SearchFilter

定义用于过滤结果的键和值。当您为属性提供多个值时,API 会将值解析为 "OR" 操作。当您提供多个过滤器时,结果会匹配所有过滤器,API 则解析为"AND"操作。

string

SearchInput

输入关键字以接收资源列表。当您提供多个关键字时,API 会将其解释为"AND"操作。

字符串

limit

确定输入查询后返回的最大结果数。默认值为 1。值 -1 表示这个限制已被删除。

整数

1.13.2.2. 模式示例

{
  "query": "type SearchResult {count: Intitems: [Map]related: [SearchRelatedResult]} type SearchRelatedResult {kind: String!count: Intitems: [Map]}",
  "variables": {
    "input": [
      {
        "keywords": [],
        "filters": [
          {
            "property": "kind",
            "values": [
              "Deployment"
            ]
          }
        ],
        "limit": 10
      }
    ]
  }
}
Copy to Clipboard Toggle word wrap

1.13.3. 通用模式

type Query {
  search(input: [SearchInput]): [SearchResult]
  searchComplete(property: String!, query: SearchInput, limit: Int): [String]
  searchSchema: Map
  messages: [Message]
}
Copy to Clipboard Toggle word wrap

1.13.4. 支持的查询

继续读取以查看 JSON 格式支持的查询类型。

1.13.4.1. 搜索部署

查询

query mySearch($input: [SearchInput]) {
    search(input: $input) {
    		items
        }
}
Copy to Clipboard Toggle word wrap

变量

{"input":[
    {
        "keywords":[],
        "filters":[
            {"property":"kind","values":["Deployment"]}],
        "limit":10
    }
]}
Copy to Clipboard Toggle word wrap

1.13.4.2. 搜索 pod

查询

query mySearch($input: [SearchInput]) {
    search(input: $input) {
    		items
        }
}
Copy to Clipboard Toggle word wrap

变量

{"input":[
    {
        "keywords":[],
        "filters":[
            {"property":"kind","values":["Pod"]}],
        "limit":10
    }
]}
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat