Schema 검증

Domain 생성을 하기 전에 Schema 검증을 할 수 있습니다. 해당 요청을 통해 올바르게 작성된 Schema 인지 확인이 가능합니다.
색인(index)은 추가는 가능하지만, 생성 후 삭제는 불가능합니다.

POST https://cloudsearch.apigw.ntruss.com/CloudSearch/real/v1/schemaValidator

요청

요청 바디

필드명 필수 여부 타입 제약 사항 설명
document Yes Schema 검색 설정

응답

응답 Status

HTTP Status Desc
200 OK(유효한 Schema)
400 Bad Request(유효하지 않은 Schema)
401 Unauthorized
403 Forbidden
404 Not Found
500 Internal Server Error

예시

요청 예시 - 유효한 Schema

POST https://cloudsearch.apigw.ntruss.com/CloudSearch/real/v1/schemaValidator

POST /CloudSearch/real/v1/schemaValidator HTTP/1.1
Host:cloudsearch.apigw.ntruss.com
accept:application/json

x-ncp-apigw-signature-v2: cDwtHuQeGmwWyNmwlN6XIGA66zge4iMXvfoDQNna05g=
x-ncp-apigw-timestamp: 1545817618751
x-ncp-iam-access-key: teGTwtcSEGA7fu28BGGi

{
  "document": {
    "primarySectionName": "name",
    "sections": [
      {
        "docProperties": [
          {
            "type": "string",
            "name": "dp_name"
          }
        ],
        "name": "name"
      },
      {
        "docProperties": [
          {
            "type": "string",
            "name": "dp_phone_number"
          }
        ],
        "name": "phone_number"
      }
    ],
    "indexes": [
      {
        "documentTermWeight": "sum_wgt",
        "buildInfos": [
          {
            "sections": [
              "name"
            ],
            "sectionTermWeight": "1.0 * stw_2p(tf, 0.5, 0.25, 0., length / 128.0)",
            "indexProcessors": [
              {
                "type": "hanaterm",
                "method": "sgmt",
                "option": "+korea +josacat +eomicat"
              }
            ],
            "name": "index_build_0"
          }
        ],
        "name": "name"
      }
    ]
  }
}

응답 예시 - 유효한 Schema

{
  "status": "valid",
  "message": "OK",
  "response": "{\"status\":{\"code\":0,\"message\":\"ok\"}}\n"
}

요청 예시 - 유효하지 않은 Schema : JSON Parsing 오류

POST https://cloudsearch.apigw.ntruss.com/CloudSearch/real/v1/schemaValidator

POST /CloudSearch/real/v1/schemaValidator HTTP/1.1
Host:cloudsearch.apigw.ntruss.com
accept:application/json

x-ncp-apigw-signature-v2: cDwtHuQeGmwWyNmwlN6XIGA66zge4iMXvfoDQNna05g=
x-ncp-apigw-timestamp: 1545817618751
x-ncp-iam-access-key: teGTwtcSEGA7fu28BGGi

{
  "document": {

    "sections": [
      {
        "docProperties": [
          {
            "type": "string",
            "name": "dp_name"
          }
        ],
        "name": "name"
      }
    ]

}

응답 예시 - 유효하지 않은 Schema : JSON Parsing 오류

{
  "expose": true,
  "statusCode": 400,
  "status": 400,
  "body": "{\n  \"document\": {\n   \n    \"sections\": [\n      {\n        \"docProperties\": [\n          {\n            \"type\": \"string\",\n            \"name\": \"dp_name\"\n          }\n        ],\n        \"name\": \"name\"\n      }\n    ]\n\n}",
  "type": "entity.parse.failed"
}

요청 예시 - 유효하지 않은 Schema : 필수 필드 누락

POST https://cloudsearch.apigw.ntruss.com/CloudSearch/real/v1/schemaValidator

POST /CloudSearch/real/v1/schemaValidator HTTP/1.1
Host:cloudsearch.apigw.ntruss.com
accept:application/json

x-ncp-apigw-signature-v2: cDwtHuQeGmwWyNmwlN6XIGA66zge4iMXvfoDQNna05g=
x-ncp-apigw-timestamp: 1545817618751
x-ncp-iam-access-key: teGTwtcSEGA7fu28BGGi

{
  "document": {

    "sections": [
      {
        "docProperties": [
          {
            "type": "string",
            "name": "dp_name"
          }
        ],
        "name": "name"
      }
    ]
  }
}

응답 - 유효하지 않은 Schema : 필수 필드 누락

{
  "0": {
    "keyword": "required",
    "dataPath": ".document",
    "schemaPath": "#/required",
    "params": {
      "missingProperty": "primarySectionName"
    },
    "message": "should have required property 'primarySectionName'"
  },
  "1": {
    "keyword": "required",
    "dataPath": ".document",
    "schemaPath": "#/required",
    "params": {
      "missingProperty": "indexes"
    },
    "message": "should have required property 'indexes'"
  },
  "message": "Bad Request"
}