검색

1.12. 검색 쿼리 API

download PDF

검색 쿼리 API는 Kubernetes API가 아니므로 Red Hat OpenShift Container Platform API Explorer를 통해 표시되지 않습니다. 검색 쿼리 API 기능을 이해하기 위해 계속 읽습니다.

1.12.1. 개요

경로와 함께 검색 쿼리 API를 노출하고 API를 사용하여 검색 쿼리를 해결할 수 있습니다. API는 GraphQL 끝점입니다. curl 또는 Postman과 같은 모든 클라이언트를 사용할 수 있습니다.

1.12.1.1. 버전 정보

버전 : 2.10.0

1.12.1.2. URI 스키마

BasePath : /searchapi/graphql
Schemes : HTTPS

1.12.1.3. API 액세스 구성

다음 명령을 사용하여 클러스터 외부에서 Search API에 액세스할 경로를 생성합니다.

oc create route passthrough search-api --service=search-search-api -n open-cluster-management

중요: 환경을 보호하려면 경로를 구성해야 합니다. 자세한 내용은 OpenShift Container Platform 설명서의 경로 구성 을 참조하십시오.

1.12.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]
}

! 가 포함된 매개변수는 필드가 필요함을 나타냅니다.

1.12.2.1. 쿼리 입력 설명

유형설명속성

SearchFilter

결과를 필터링할 키와 값을 정의합니다. 속성에 많은 값을 제공할 때 API는 값을 "OR" 작업으로 해석합니다. 여러 필터를 제공하면 결과가 모든 필터와 일치하고 API는 "AND" 작업으로 해석됩니다.

string

SearchInput

리소스 목록을 받으려면 핵심 단어를 입력합니다. 많은 키워드를 제공하면 API는 이를 "AND" 작업으로 해석합니다.

문자열

limit

쿼리를 입력한 후 반환되는 최대 결과 수를 확인합니다. 기본값은 10,000 입니다. 값 -1 은 제한이 제거됨을 의미합니다.

정수

1.12.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
      }
    ]
  }
}

1.12.3. 일반 스키마

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

1.12.4. 지원되는 쿼리

JSON 형식으로 지원되는 쿼리 유형을 확인하려면 계속 읽습니다.

1.12.4.1. 배포 검색

쿼리:

query mySearch($input: [SearchInput]) {
    search(input: $input) {
    		items
        }
}

변수:

{"input":[
    {
        "keywords":[],
        "filters":[
            {"property":"kind","values":["Deployment"]}],
        "limit":10
    }
]}

1.12.4.2. Pod 검색

쿼리:

query mySearch($input: [SearchInput]) {
    search(input: $input) {
    		items
        }
}

변수:

{"input":[
    {
        "keywords":[],
        "filters":[
            {"property":"kind","values":["Pod"]}],
        "limit":10
    }
]}
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.